没有合适的资源?快使用搜索试试~ 我知道了~
首页Spring Cloud基础教程 - 程序猿DD - 第一版
资源详情
资源评论
资源推荐

SpringCloud基础教程【第⼀版】
本电⼦书内容整理⾃我的独⽴博客:程序猿DD,blog.didispace.com。
本书内容是国内最早连载的SpringCloud基础教程,该系列⽂章主要基于SpringCloud的Brixton版本制
作。由于编写中途开始写《SpringCloud微服务实战》⼀书,所以暂停了更新。鉴于SpringCloud的版
本更新速度原因,所以该系列不再继续更新下去。但是读者依然可以将这些内容作为基本的⼊⻔教
程,来对SpringCloud有⼀个最初的认识。
如需获得最近内容可通过在线⽅式查看:《SpringCloud从⼊⻔到精通》
电⼦书整理内容不定期更新。当前更新版本:2019年2⽉1⽇
SpringBoot版本为:1.xSpringCloud版本为:Brixton
2019年将对SpringCloud教程整体更新!优先以博客与公众号推⽂的⽅式连载,所以赶紧扫描下⽅⼆
维码关注我吧!
本教程示例代码仓库
GitHub:https://github.com/dyc87112/SpringCloud-Learning
开源中国:http://git.oschina.net/didispace/SpringCloud-Learning
欢迎点击项⽬右上⽅的Star按钮,给予⽀持!!
其他资源
添加微信:zyc_enjoy,加⼊技术讨论群
扫描下⾯⼆维码关注我,持续获得更多优质学习资料,更有每⽉赠书等活动!
简介
2
公众号:程序猿DD
博客:didispace.com

服务注册与发现
SpringCloud简介
SpringCloud是⼀个基于SpringBoot实现的云应⽤开发⼯具,它为基于JVM的云应⽤开发中的配置管
理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态
管理等操作提供了⼀种简单的开发⽅式。
SpringCloud包含了多个⼦项⽬(针对分布式系统中涉及的多个不同开源产品),⽐如:SpringCloud
Config、SpringCloudNetflix、SpringCloudCloudFoundry、SpringCloudAWS、SpringCloud
Security、SpringCloudCommons、SpringCloudZookeeper、SpringCloudCLI等项⽬。
微服务架构
“微服务架构”在这⼏年⾮常的⽕热,以⾄于关于微服务架构相关的产品社区也变得越来越活跃(⽐如:
netflix、dubbo),SpringCloud也因Spring社区的强⼤知名度和影响⼒也被⼴⼤架构师与开发者备受
关注。
那么什么是“微服务架构”呢?简单的说,微服务架构就是将⼀个完整的应⽤从数据存储开始垂直拆分成
多个不同的服务,每个服务都能独⽴部署、独⽴维护、独⽴扩展,服务与服务间通过诸如RESTfulAPI
的⽅式互相调⽤。
对于“微服务架构”,⼤家在互联⽹可以搜索到很多相关的介绍和研究⽂章来进⾏学习和了解。也可以阅
读始祖MartinFowler的《Microservices》,本⽂不做更多的介绍和描述。
服务注册与发现
在简单介绍了SpringCloud和微服务架构之后,下⾯回归本⽂的主旨内容,如何使⽤SpringCloud搭建
服务注册与发现模块。
这⾥我们会⽤到SpringCloudNetflix,该项⽬是SpringCloud的⼦项⽬之⼀,主要内容是对Netflix公司
⼀系列开源产品的包装,它为SpringBoot应⽤提供了⾃配置的NetflixOSS整合。通过⼀些简单的注
解,开发者就可以快速的在应⽤中配置⼀下常⽤模块并构建庞⼤的分布式系统。它主要提供的模块包
括:服务发现(Eureka),断路器(Hystrix),智能路有(Zuul),客户端负载均衡(Ribbon)等。
所以,我们这⾥的核⼼内容就是服务发现模块:Eureka。下⾯我们动⼿来做⼀些尝试。
创建“服务注册中⼼”
创建⼀个基础的SpringBoot⼯程,并在pom.xml中引⼊需要的依赖内容:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.5.RELEASE</version>
服务注册与发现
3
公众号:程序猿DD
博客:didispace.com

<relativePath/><!--lookupparentfromrepository-->
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Brixton.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
通过@EnableEurekaServer注解启动⼀个服务注册中⼼提供给其他应⽤进⾏对话。这⼀步⾮常的简
单,只需要在⼀个普通的SpringBoot应⽤中添加这个注解就能开启此功能,⽐如下⾯的例⼦:
@EnableEurekaServer
@SpringBootApplication
publicclassApplication{
publicstaticvoidmain(String[]args){
newSpringApplicationBuilder(Application.class).web(true).run(args);
}
}
在默认设置下,该服务注册中⼼也会将⾃⼰作为客户端来尝试注册它⾃⼰,所以我们需要禁⽤它的客
户端注册⾏为,只需要在application.properties中问增加如下配置:
server.port=1111
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
服务注册与发现
4
公众号:程序猿DD
博客:didispace.com

eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/
为了与后续要进⾏注册的服务区分,这⾥将服务注册中⼼的端⼝通过server.port属性设置
为1111。
启动⼯程后,访问:http://localhost:1111/
可以看到下⾯的⻚⾯,其中还没有发现任何服务
该⼯程可参⻅:Chapter9-1-1/eureka-server
创建“服务提供⽅”
下⾯我们创建提供服务的客户端,并向服务注册中⼼注册⾃⼰。
假设我们有⼀个提供计算功能的微服务模块,我们实现⼀个RESTfulAPI,通过传⼊两个参数a和b,最
后返回a+b的结果。
⾸先,创建⼀个基本的SpringBoot应⽤,在pom.xml中,加⼊如下配置:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.5.RELEASE</version>
<relativePath/><!--lookupparentfromrepository-->
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
服务注册与发现
5
公众号:程序猿DD
博客:didispace.com
剩余81页未读,继续阅读




















程序猿DD_
- 粉丝: 2778
- 资源: 1
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
最新资源
- Xilinx SRIO详解.pptx
- Informatica PowerCenter 10.2 for Centos7.6安装配置说明.pdf
- 现代无线系统射频电路实用设计卷II 英文版.pdf
- 电子产品可靠性设计 自己讲课用的PPT,包括设计方案的可靠性选择,元器件的选择与使用,降额设计,热设计,余度设计,参数优化设计 和 失效分析等
- MPC5744P-DEV-KIT-REVE-QSG.pdf
- 通信原理课程设计报告(ASK FSK PSK Matlab仿真--数字调制技术的仿真实现及性能研究)
- ORIGIN7.0使用说明
- 在VMware Player 3.1.3下安装Redhat Linux详尽步骤
- python学生信息管理系统实现代码
- 西门子MES手册 13 OpcenterEXCR_PortalStudio1_81RB1.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制

评论0