基于javaSpringCloud怎么搭建微服務

這篇文章主要介紹“基于java SpringCloud怎么搭建微服務”,在日常操作中,相信很多人在基于java SpringCloud怎么搭建微服務問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”基于java SpringCloud怎么搭建微服務”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

創(chuàng)新互聯(lián)建站長期為近千家客戶提供的網(wǎng)站建設服務,團隊從業(yè)經(jīng)驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為建鄴企業(yè)提供專業(yè)的網(wǎng)站建設、成都網(wǎng)站制作,建鄴網(wǎng)站改版等技術服務。擁有10多年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

開發(fā)環(huán)境

1、jdk1.8
2、springboot 2.0.6.RELEASE 以及SpringCloud相關服務
3、idea + maven

代碼示例

itstack-demo-ddd-case | 基于DDD的微服務 {本段代碼在上一章節(jié)已經(jīng)演示}

 1itstack-demo-ddd-case
2└── src
3    ├── main
4    │   ├── java
5    │   │   └── org.itstack.demo
6    │   │       ├── application
7    │   │       │    ├── MallRuleService.java    
8    │   │       │    └── MallTreeService.java    
9    │   │       ├── domain
10    │   │       │    ├── rule
11    │   │       │    │   ├── model
12    │   │       │    │   │   ├── aggregates
13    │   │       │    │   │   │   └── UserRichInfo.java   
14    │   │       │    │   │   └── vo
15    │   │       │    │   │       ├── DecisionMatter.java
16    │   │       │    │   │       ├── EngineResult.java
17    │   │       │    │   │       ├── TreeNodeInfo.java
18    │   │       │    │   │       ├── TreeNodeLineInfo.java   
19    │   │       │    │   │       └── UserSchool.java 
20    │   │       │    │   ├── repository
21    │   │       │    │   │   └── IRuleRepository.java    
22    │   │       │    │   └── service
23    │   │       │    │       ├── engine
24    │   │       │    │       │   ├── impl    
25    │   │       │    │       │   └── EngineFilter.java   
26    │   │       │    │       ├── logic
27    │   │       │    │       │   ├── impl    
28    │   │       │    │       │   └── LogicFilter.java    
29    │   │       │    │       └── MallRuleServiceImpl.java    
30    │   │       │    └── tree
31    │   │       │        ├── model
32    │   │       │        │   ├── aggregates
33    │   │       │        │   │   └── TreeCollect.java    
34    │   │       │        │   └── vo
35    │   │       │        │       ├── TreeInfo.java   
36    │   │       │        │       └── TreeRulePoint.java  
37    │   │       │        ├── repository
38    │   │       │        │   └── ITreeRepository.java    
39    │   │       │        └── service
40    │   │       │            └── MallTreeServiceImpl.java    
41    │   │       ├── infrastructure
42    │   │       │    ├── common
43    │   │       │    │   └── Constants.java
44    │   │       │    ├── dao
45    │   │       │    │   ├── RuleTreeDao.java
46    │   │       │    │   ├── RuleTreeNodeDao.java    
47    │   │       │    │   └── RuleTreeNodeLineDao.java    
48    │   │       │    ├── po
49    │   │       │    │   ├── RuleTree.java
50    │   │       │    │   ├── RuleTreeConfig.java
51    │   │       │    │   ├── RuleTreeNode.java   
52    │   │       │    │   └── RuleTreeNodeLine.java       
53    │   │       │    ├── repository
54    │   │       │    │   ├── cache
55    │   │       │    │   │   └── RuleCacheRepository.java
56    │   │       │    │   ├── MySQL
57    │   │       │    │   │   ├── RuleMysqlRepository.java    
58    │   │       │    │   │   └── TreeMysqlRepository.java
59    │   │       │    │   ├── RuleRepository.java 
60    │   │       │    │   └── TreeRepository.java 
61    │   │       │    └── util
62    │   │       │        └── CacheUtil.java
63    │   │       ├── interfaces
64    │   │       │    ├── dto
65    │   │       │    │   ├── DecisionMatterDTO.java
66    │   │       │    │   └── TreeDTO.java    
67    │   │       │    └── DDDController.java
68    │   │       └── DDDApplication.java
69    │   └── resources    
70    │       ├── mybatis
71    │       └── application.yml
72    └── test
73         └── java
74             └── org.itstack.demo.test
75                 └── ApiTest.java

itstack-demo-ddd-eureka-server | 服務注冊與發(fā)現(xiàn)

 1itstack-demo-ddd-eureka-server
2└── src
3    ├── main
4    │   ├── java
5    │   │   └── org.itstack.demo
6    │   │       └── EurekaServerApplication.java
7    │   └── resources    
8    │       └── application.yml
9    └── test
10         └── java
11             └── org.itstack.demo.test
12                 └── ApiTest.java

EurekaServerApplication.java | 啟動服務

 1/**
2 * 微信公眾號:bugstack蟲洞棧 | 專注原創(chuàng)技術專題案例
3 * 論壇:http://bugstack.cn
4 * Create by 付政委 on @2019
5 */
6@SpringBootApplication
7@EnableEurekaServer
8public class EurekaServerApplication {
9
10    public static void main(String[] args) {
11        SpringApplication.run( EurekaServerApplication.class, args );
12    }
13
14}

application.yml | 服務配置

 1server:
2  port: 8989
3
4eureka:
5  instance:
6    hostname: localhost
7  client:
8    registerWithEureka: false
9    fetchRegistry: false
10    serviceUrl:
11      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
12
13spring:
14  application:
15    name: itstack-demo-ddd-eureka-server

itstack-demo-ddd-feign | 調(diào)用方,通過API接口調(diào)用

 1itstack-demo-ddd-feign
2└── src
3    ├── main
4    │   ├── java
5    │   │   └── org.itstack.demo
6    │   │       ├── domain
7    │   │       │    └── TreeDTO.java
8    │   │       ├── service
9    │   │       │    └── MallService.java
10    │   │       ├── web
11    │   │       │    └── FeignController.java
12    │   │       └── FeignApplication.java
13    │   └── resources    
14    │       └── application.yml
15    └── test
16         └── java
17             └── org.itstack.demo.test
18                 └── ApiTest.java

MallService.java | 通過注冊方式調(diào)用API

 1/**
2 * 微信公眾號:bugstack蟲洞棧 | 專注原創(chuàng)技術專題案例
3 * 論壇:http://bugstack.cn
4 * Create by 付政委 on @2019
5 */
6@FeignClient(value = "itstack-demo-ddd-case")
7public interface MallService {
8
9    @RequestMapping(value = "/api/tree/queryTreeSummaryInfo", method = RequestMethod.POST)
10    Object queryTreeSummaryInfo(@RequestBody TreeDTO request);
11
12}

FeignApplication.java | 啟動服務

 1/**
2 * 微信公眾號:bugstack蟲洞棧 | 專注原創(chuàng)技術專題案例
3 * 論壇:http://bugstack.cn
4 * Create by 付政委 on @2019
5 */
6@SpringBootApplication
7@EnableEurekaClient
8@EnableDiscoveryClient
9@EnableFeignClients
10public class FeignApplication {
11
12    public static void main(String[] args) {
13        SpringApplication.run(FeignApplication.class, args);
14    }
15
16}

application.yml | 服務配置

 1server:
2  port: 9090
3
4spring:
5  application:
6    name: itstack-demo-ddd-feign
7
8eureka:
9  client:
10    serviceUrl:
11      defaultZone: http://localhost:8989/eureka/

itstack-demo-ddd-zuul| 網(wǎng)關路由組件

 1itstack-demo-ddd-zuul
2└── src
3    ├── main
4    │   ├── java
5    │   │   └── org.itstack.demo
6    │   │       └── ZuulApplication.java
7    │   └── resources    
8    │       └── application.yml
9    └── test
10         └── java
11             └── org.itstack.demo.test
12                 └── ApiTest.java

ZuulApplication.java | 啟動服務

 1/**
2 * 微信公眾號:bugstack蟲洞棧 | 專注原創(chuàng)技術專題案例
3 * 論壇:http://bugstack.cn
4 * Create by 付政委 on @2019
5 */
6@SpringBootApplication
7@EnableZuulProxy
8@EnableEurekaClient
9@EnableDiscoveryClient
10public class ZuulApplication {
11
12    public static void main(String[] args) {
13        SpringApplication.run(ZuulApplication.class, args);
14    }
15
16}

application.yml | 服務配置{本案例是靜態(tài)路由,按需可以開發(fā)為動態(tài)路由}

 1server:
2  port: 9191
3
4spring:
5  application:
6    name: itstack-demo-ddd-zuul
7
8eureka:
9  client:
10    serviceUrl:
11      defaultZone: http://localhost:8989/eureka/
12zuul:
13  routes:
14    api-a:
15      path: /route-a/**
16      serviceId: itstack-demo-ddd-feign
17

測試驗證

按照順序啟動;itstack-demo-ddd-eureka-server、itstack-demo-ddd-case{可以模擬啟動多個}、itstack-demo-ddd-feign、itstack-demo-ddd-zuul

訪問;http://localhost:8989/ | 服務中心

基于java SpringCloud怎么搭建微服務    

訪問:http://localhost:9191/route-a/api/queryTreeSummaryInfo?treeId=10001 | 通過網(wǎng)關路由調(diào)用DDD服務接口

基于java SpringCloud怎么搭建微服務

到此,關于“基于java SpringCloud怎么搭建微服務”的學習就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

網(wǎng)頁標題:基于javaSpringCloud怎么搭建微服務
標題來源:http://muchs.cn/article16/pjjsdg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、軟件開發(fā)、品牌網(wǎng)站建設、網(wǎng)站導航搜索引擎優(yōu)化、App設計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站