一:【Spring Cloud开发课程查询功能】内容概述;说明:
(1)在本专栏中,我们会通过开发【Spring Cloud开发课程查询项目】来介绍Spring Cloud;其中,具体的项目业务内容不是重点,重点是Spring Cloud的开发和各组件的使用套路;
1.Spring Cloud简介;
2.项目整体技术设计;
● 技术设计往往会涉及到数据流向、表设计等内容;
3.具体模块开发之:【课程列表模块】开发;
● Spring Cloud的微服务项目中,我们会使用不同的模块来实现不同的功能,而且模块与模块之间是很独立的;
● 【Spring Cloud开发课程查询项目】就有【课程列表模块】和【课程价格模块】;然后,我们会先开发【课程列表模块】;
4.具体模块开发之:【课程价格模块】开发;
● 开发【课程价格模块】的时候,就需要调用【课程列表模块】中的接口;于是,这就涉及到了模块与模块间的调用了;为此,我们需要进行配置,需要服务注册与发现;
5.服务注册与发现:采用Eureka组件;
● Eureka组件,可以让服务之间很容易发现对方;
6.利用Feign组件,来进行服务之间的调用;
● 要想实现服务之间的调用,有很多解决方案;;;这儿我们使用的是Feign组件,Feign组件可以让代码简介明了,而且还可以应对地址变化的情况;
7.负载均衡Ribbon;
● 如果服务很多的话(更多的是指,如【商品服务】我们部署了多个实例的情况),就涉及到负载均衡;
8.熔断器Hystrix;
● 我们不能保证网络是一直OK的,网络一般也不太稳定,而且网络OK与否也是不可控的(比如,电缆断了;)
● 那么,一旦因为网络问题,导致某个服务不可用了;此时,为了保证用户的良好体验,我们需要提供一个兜底的策略,以保证整个系统在全流程上还是OK的;
9.网关Zuul;
● 微服务中有很多服务,这些服务对外需要有一个统一的出入口;这个就是网关;模块与模块之间,也可以使用网关来通信;(而且,网关也算是一层安全保护;网关也可以做解码等功能)
● 如果没有网关,虽然在一定程度上,也能够对外提供服务,但会显得十分杂乱无章;
我们也会在项目中,使用上面介绍的这些组件;以项目为例,学习Spring Cloud;
10.项目整体测试;
● 最后,我们会对项目进行整体的测试(包括,两个服务各自内容的测试,两个服务调用的测试,熔断的测试等)
11.项目总结;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)