您好,登錄后才能下訂單哦!
這篇文章主要介紹“基于java SpringCloud怎么搭建微服務”,在日常操作中,相信很多人在基于java SpringCloud怎么搭建微服務問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”基于java SpringCloud怎么搭建微服務”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
1、jdk1.8
2、springboot 2.0.6.RELEASE 以及SpringCloud相關服務
3、idea + maven
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
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蟲洞棧 | 專注原創技術專題案例
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
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 | 通過注冊方式調用API
1/**
2 * 微信公眾號:bugstack蟲洞棧 | 專注原創技術專題案例
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蟲洞棧 | 專注原創技術專題案例
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/
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蟲洞棧 | 專注原創技術專題案例
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 | 服務配置{本案例是靜態路由,按需可以開發為動態路由}
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/ | 服務中心
訪問:http://localhost:9191/route-a/api/queryTreeSummaryInfo?treeId=10001 | 通過網關路由調用DDD服務接口
到此,關于“基于java SpringCloud怎么搭建微服務”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。