SpringCloud中几个很重要的组件
写在前面一、spring-cloud-starter-eureka1.1、待办事项1.2、基本介绍二、spring-cloud-starter-eureka-server2.1、待办事项三、spring-cloud-starter-turbine3.1、待办事项四、spring-cloud-starter-hystrix4.1、待办事项五、spring-cloud-starter-ribbon5.1、待办事项六、spring-cloud-starter-zuul6.1、待办事项6.2、API 统一网关七、spring-cloud-starter-sleuth7.1、待办事项八、spring-cloud-starter-alibaba8.1、待办事项九、spring-cloud-starter-archaius9.1、待办事项十、spring-cloud-starter-config10.1、待办事项10.2、基本介绍是springcloud生态系统中的分布式的配置实现,十一、spring-cloud-starter-bus-amqp11.1、待办事项十二、spring-cloud-starter-consul12.1、待办事项十三、spring-cloud-starter-consul-config13.1、待办事项十四、spring-cloud-starter-consul-discovery14.1、待办事项十五、spring-cloud-starter-contract-stub-runner15.1、待办事项十六、spring-cloud-starter-contract-verifier16.1、待办事项十七、spring-cloud-starter-feign17.1、待办事项十八、spring-cloud-starter-gateway18.1、待办事项十九、spring-cloud-starter-oauth219.1、待办事项二十、spring-cloud-starter-openfeign20.1、待办事项二十一、spring-cloud-starter-stream-kafka21.1、待办事项二十二、spring-cloud-starter-stream-rabbit22.1、待办事项二十三、spring-cloud-starter-stream-rocketmq23.1、待办事项二十四、spring-cloud-starter-zipkin24.1、待办事项二十五、其他写在前面
其实在这些个Starter之上,是一个团队的努力结果,从下图可以看出,每个Starter都是基于相应类似Netflix团队的Starter-Netflix-XX,开发,团队会根据需要,在Starter-Netflix-XXX中封装SDK,最后整合使用在Starter中,需要注意的是,当我们想当然的想使用某些依赖的时候,你确定,是否添加已重复的依赖,或者你根本就没使用更方便集成的Starter-XXX依赖,只是基于某些Starter-Netflix-XXX依赖,开发…
注意,Starter-Netflix-XXX,只是Netflix团队基于SpringCloud开发的微服务的架构,也是目前使用份额最大的一部分,包括这24个Starter,开箱即用的Starter,大部分也是Netflix团队的成果,还有包括Spring家族,淘宝团队等等…
下面的内容,就是围绕这24个Starter…
一、spring-cloud-starter-eureka
<dependency><groupId>.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka</artifactId><version>1.3.2.RELEASE</version>
</dependency>
1.1、待办事项
Netflix团队 Demo1.2、基本介绍
微服务中常用到的用于管理微服务间的调度和监控用的
源码中冰山一角,是Netflix团队集成多种优秀的实现以及多种结构的数据封装而成的
二、spring-cloud-starter-eureka-server
<dependency><groupId>.springframework.cloud</groupId><artifactId>spring-cloud-starter-eureka-server</artifactId><version>1.3.2.RELEASE</version></dependency>
2.1、待办事项
Netflix团队 Demo三、spring-cloud-starter-turbine
<dependency><groupId>.springframework.cloud</groupId><artifactId>spring-cloud-starter-turbine</artifactId><version>1.4.7.RELEASE</version>
</dependency>
3.1、待办事项
Netflix Demo四、spring-cloud-starter-hystrix
<dependency><groupId>.springframework.cloud</groupId><artifactId>spring-cloud-starter-hystrix</artifactId><version>1.3.1.RELEASE</version>
</dependency>
4.1、待办事项
Netflix Demo五、spring-cloud-starter-ribbon
<dependency><groupId>.springframework.cloud</groupId><artifactId>spring-cloud-starter-ribbon</artifactId><version>1.4.7.RELEASE</version>
</dependency>
5.1、待办事项
Netflix团队 Demo六、spring-cloud-starter-zuul
<dependency><groupId>.springframework.cloud</groupId><artifactId>spring-cloud-starter-zuul</artifactId><version>1.3.0.RELEASE</version></dependency>
6.1、待办事项
Netflix团队 Demo6.2、API 统一网关
简单配置如下
zuul:prefix: /apiroutes:hello-server:path: /server/**url: localhost:8071hello-client:path: /client/**serviceId: HELLO-CLIENT
这样可以通过访问当前服务的 ip:port/api/server/xxx,即可访问hello-server的xxx服务
七、spring-cloud-starter-sleuth
<dependency><groupId>.springframework.cloud</groupId><artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
7.1、待办事项
Spring团队 Demo八、spring-cloud-starter-alibaba
<dependency><groupId>.springframework.cloud</groupId><artifactId>spring-cloud-starter-alibaba</artifactId><version>0.9.0.RELEASE</version></dependency>
淘宝团队,这是一个Pom工程
<parent><groupId>.springframework.cloud</groupId><artifactId>spring-cloud-alibaba</artifactId><version>0.9.0.RELEASE</version><relativePath>../pom.xml</relativePath></parent><artifactId>spring-cloud-starter-alibaba</artifactId><packaging>pom</packaging><name>Spring Cloud Alibaba Starters</name><description>Spring Cloud Alibaba Starters</description><modules><module>spring-cloud-starter-alibaba-nacos-config</module><module>spring-cloud-starter-alibaba-nacos-config-server</module><module>spring-cloud-starter-alibaba-nacos-discovery</module><module>spring-cloud-starter-alibaba-sentinel</module><module>spring-cloud-starter-alibaba-seata</module><module>spring-cloud-starter-stream-rocketmq</module><module>spring-cloud-starter-bus-rocketmq</module><module>spring-cloud-starter-dubbo</module></modules>
8.1、待办事项
淘宝团队 Demo九、spring-cloud-starter-archaius
<dependency><groupId>.springframework.cloud</groupId><artifactId>spring-cloud-starter-archaius</artifactId><version>1.3.6.RELEASE</version></dependency>
9.1、待办事项
Netflix团队 Demo十、spring-cloud-starter-config
<dependency><groupId>.springframework.cloud</groupId><artifactId>spring-cloud-starter-config</artifactId><version>RELEASE</version></dependency>
10.1、待办事项
Spring团队 Demo10.2、基本介绍是springcloud生态系统中的分布式的配置实现,
这里有代码示例,基于GITHUB作为分布式配置的管理
Github仓库如下
两个Maven工程(Client + Server) + Github的仓库
工程代码示例链接在这里
上面的代码示例没有实现热加载
关于,实现热部署,需要用到 MQ + Spring Cloud Bus,有时间我再整理出代码实现
十一、spring-cloud-starter-bus-amqp
<dependency><groupId>.springframework.cloud</groupId><artifactId>spring-cloud-starter-bus-amqp</artifactId><version>2.1.0.RELEASE</version></dependency>
11.1、待办事项
Spring团队 Demo十二、spring-cloud-starter-consul
<dependency><groupId>.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul</artifactId><version>2.0.1.RELEASE</version></dependency>
12.1、待办事项
Consul团队 Demo十三、spring-cloud-starter-consul-config
<dependency><groupId>.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-config</artifactId><version>2.0.1.RELEASE</version></dependency>
13.1、待办事项
Consul团队 Demo十四、spring-cloud-starter-consul-discovery
<dependency><groupId>.springframework.cloud</groupId><artifactId>spring-cloud-starter-consul-discovery</artifactId><version>2.0.1.RELEASE</version></dependency>
14.1、待办事项
Consul团队 Demo十五、spring-cloud-starter-contract-stub-runner
<dependency><groupId>.springframework.cloud</groupId><artifactId>spring-cloud-starter-contract-stub-runner</artifactId><version>2.1.0.RELEASE</version></dependency>
15.1、待办事项
Spring家族 Demo十六、spring-cloud-starter-contract-verifier
<dependency><groupId>.springframework.cloud</groupId><artifactId>spring-cloud-starter-contract-verifier</artifactId><version>2.1.0.RELEASE</version></dependency>
16.1、待办事项
Spring家族 Demo十七、spring-cloud-starter-feign
<dependency><groupId>.springframework.cloud</groupId><artifactId>spring-cloud-starter-feign</artifactId><version>1.4.7.RELEASE</version></dependency>
17.1、待办事项
Netflix团队 Demo十八、spring-cloud-starter-gateway
<dependency><groupId>.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId><version>2.1.3.RELEASE</version></dependency>
18.1、待办事项
Spring家族 Demo十九、spring-cloud-starter-oauth2
<dependency><groupId>.springframework.cloud</groupId><artifactId>spring-cloud-starter-oauth2</artifactId><version>1.2.0.RELEASE</version></dependency>
19.1、待办事项
Spring家族 Demo二十、spring-cloud-starter-openfeign
<dependency><groupId>.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId><version>2.1.3.RELEASE</version></dependency>
20.1、待办事项
Netflix团队 Demo二十一、spring-cloud-starter-stream-kafka
<dependency><groupId>.springframework.cloud</groupId><artifactId>spring-cloud-starter-stream-kafka</artifactId><version>2.0.1.RELEASE</version></dependency>
21.1、待办事项
Spring家族 Demo二十二、spring-cloud-starter-stream-rabbit
<dependency><groupId>.springframework.cloud</groupId><artifactId>spring-cloud-starter-stream-rabbit</artifactId><version>2.1.0.RELEASE</version></dependency>
22.1、待办事项
Spring家族 Demo二十三、spring-cloud-starter-stream-rocketmq
<dependency><groupId>.springframework.cloud</groupId><artifactId>spring-cloud-starter-stream-rocketmq</artifactId><version>0.9.0.RELEASE</version></dependency>
23.1、待办事项
淘宝团队 Demo二十四、spring-cloud-starter-zipkin
<dependency><groupId>.springframework.cloud</groupId><artifactId>spring-cloud-starter-zipkin</artifactId><version>2.1.0.RELEASE</version></dependency>
24.1、待办事项
Spring家族 Demo二十五、其他
SpringCloud中还有很多,类似的开箱即用的Starter,谷歌,亚马逊,微软等等都有相应的微服务封装使用,只是基于资源和网络有限,不太方便整理…
更多推荐
很重要,SpringCloud,Starter
发布评论