摘要:必須要從零開始用搭建一下這個框架,本文是采用作為服務注冊與發現的組件。是一個默認的注冊中心地址。配置該選項后,可以在服務中心進行注冊。配置完成之后,啟動項目,然后瀏覽器地址欄輸入然后出現以下頁面,表示注冊中心搭建完畢。
發現很多招聘都需要會springcloud,所以最近在學習springcloud。
必須要從零開始用IDEA搭建一下這個springcloud框架,本文是采用Eureka作為服務注冊與發現的組件。
先用IDEA創建一個MAVEN項目。
下一步需要填寫GroupId和ArtifactId,這里按照自己的習慣去填寫就好了。
下一步選擇項目位置和項目名稱點擊完成就可以了。
在該MAVEN項目下新建一個模塊,這里就需要新建的是springboot了。
這里選擇的是spring initializr進行springboot的創建。
還是要對Group和Artifact進行設置。
點擊下一步之后,我們需要選擇Cloud Discovery下的Eureka Server,點擊下一步然后點擊完成就可以了。
現在我們需要對服務中心eureka-server進行一些相關的配置了。
打開它的pom.xml文件,我們看到是這樣的:
4.0.0 org.springframework.boot spring-boot-starter-parent 2.1.5.RELEASE com.zhouxiaoxi eureka-server 0.0.1-SNAPSHOT eureka-server Demo project for Spring Boot 1.8 Greenwich.SR1 org.springframework.cloud spring-cloud-starter-netflix-eureka-server org.springframework.boot spring-boot-starter-test test org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import org.springframework.boot spring-boot-maven-plugin
然后我們需要啟動一個服務注冊中心,這需要在springboot工程的啟動application類上加一個注解@EnableEurekaServer:
package com.zhouxiaoxi.eurekaserver; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; @SpringBootApplication @EnableEurekaServer public class EurekaServerApplication { public static void main(String[] args) { SpringApplication.run(EurekaServerApplication.class, args); } }
先將配置文件改為yml,然后進行相關的配置,如下:
#端口號 server: port: 8080 eureka: instance: hostname: localhost client: #服務注冊中心也會將自己作為客戶端來嘗試注冊自己,為true(默認)時自動生效。 registerWithEureka: false #檢索服務選項,當設置為True(默認值)時,會進行服務檢索,注冊中心不負責檢索服務。 fetchRegistry: false #是一個默認的注冊中心地址。配置該選項后,可以在服務中心進行注冊。 serviceUrl: defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ spring: application: name: eurka-server
配置完成之后,啟動項目,然后瀏覽器地址欄輸入http://localhost:8080然后出現以下頁面,表示注冊中心搭建完畢。
接下來我們就需要創建一個服務提供者 (eureka-client)
還是和上面一樣新建一個模塊,這次我們命名為eureka-client,然后選擇依賴的時候有點區別:
點擊下一步知道完成就可以了。
核對一下pom.xml文件信息:
4.0.0 org.springframework.boot spring-boot-starter-parent 2.1.5.RELEASE com.zhouxiaoxi eureka-client 0.0.1-SNAPSHOT eureka-client Demo project for Spring Boot 1.8 Greenwich.SR1 org.springframework.boot spring-boot-starter-web org.springframework.cloud spring-cloud-starter-netflix-eureka-client org.springframework.boot spring-boot-starter-test test org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import org.springframework.boot spring-boot-maven-plugin
我們這邊也需要對啟動類進行相關的注解添加:
因為我們這邊用的是eureka搭建的服務中心,所以我們這邊還是用@EnableEurekaClient注解就可以了
package com.zhouxiaoxi.eurekaclient; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient; @SpringBootApplication @EnableEurekaClient //@EnableDiscoveryClient注解是基于spring-cloud-commons依賴,相當于一個公共的服務發現; //@EnableEurekaClient注解是基于spring-cloud-netflix依賴,只能為eureka作用; public class EurekaClientApplication { public static void main(String[] args) { SpringApplication.run(EurekaClientApplication.class, args); } }
需要對配置文件進行相關的配置:
server: port: 8081 spring: application: name: eureka-client eureka: client: serviceUrl: #注明自己的服務注冊中心的地址 defaultZone: http://localhost:8080/eureka/
新建一個controller,然后寫一個hello方法:
package com.zhouxiaoxi.eurekaclient.controller; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { @Value("${server.port}") String port; @RequestMapping("/hello") public String home(@RequestParam(value = "name") String name) { return "hello " + name + " ,i am from port:" + port; } }
啟動該工程之后,打開剛才的瀏覽器頁面刷新后會發現一個服務已經注冊在服務中了,服務名為EUREKA-CLIENT ,端口為8081:
這時打開 http://localhost:8081/hello?name=world,你會在瀏覽器上看到 :
hello world ,i am from port:8081
至此,我們的一個較為完整的項目就搭建起來了。
不過我們還可以運行多個服務,這里有個小技巧了就:
先打開IDEA右上角的編輯配置,如下圖:
然后找到我們剛才的工程,將允許并行運行給勾選上,應用并確定就可以了:
找到該工程下的配置文件,將端口號進行修改后啟動,就可以并行啟動多個服務了:
啟動幾個我們就會在注冊中心的頁面上看到幾個服務。
恩,先這樣吧,后續再更新。。。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/74571.html
摘要:是一個相對比較新的微服務框架,年才推出的版本雖然時間最短但是相比等框架提供的全套的分布式系統解決方案。提供線程池不同的服務走不同的線程池,實現了不同服務調用的隔離,避免了服務器雪崩的問題。通過互相注冊的方式來進行消息同步和保證高可用。 Spring Cloud 是一個相對比較新的微服務框架,...
摘要:環境搭建注冊中心依賴如下所示配置應用啟動端口注冊中心管理中的應用名稱登陸注冊管理中的的賬號密碼是否把自己注冊到注冊中心是否從上來獲取服務的注冊信息啟動注冊中心啟動后訪問登陸界面輸入設置的賬號密碼進 環境 Java version 1.8 SpringBoot version 2.1.7 搭建注冊中心 Eureka-server pom.xml 依賴如下所示: ...
摘要:它就是史上最簡單的教程第三篇服務消費者后端掘金上一篇文章,講述了通過去消費服務,這篇文章主要講述通過去消費服務。概覽和架構設計掘金技術征文后端掘金是基于的一整套實現微服務的框架。 Spring Boot 配置文件 – 在坑中實踐 - 后端 - 掘金作者:泥瓦匠鏈接:Spring Boot 配置文件 – 在坑中實踐版權歸作者所有,轉載請注明出處本文提綱一、自動配置二、自定義屬性三、ran...
摘要:實現配置和注冊中心最近,阿里開源的比較火,可以和和共用,對升級到非常的方便。只需要添加依賴,使用配置注冊中心地址即可。配置不生效,沒有使用注解刷新配置分清注冊中心和配置中心是兩個概念,需要配置兩個地址學會看源碼,看維基。 Springcloud-nacos實現配置和注冊中心 最近,阿里開源的nacos比較火,可以和springcloud和dubbo共用,對dubbo升級到springc...
閱讀 3573·2021-11-15 11:36
閱讀 1067·2021-11-11 16:55
閱讀 701·2021-10-20 13:47
閱讀 2998·2021-09-29 09:35
閱讀 3449·2021-09-08 10:45
閱讀 2556·2019-08-30 15:44
閱讀 853·2019-08-30 11:10
閱讀 1435·2019-08-29 13:43