继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

【九月打卡】第18天 SpringCloud微服务学习

逆流的鱼_飞
关注TA
已关注
手记 24
粉丝 1
获赞 0

课程名称:SpringCloud  Finchley三版本微服务实战

课程章节:

第4章 服务拆分

主讲老师:廖师兄

课程内容:

   服务拆分原则,商品服务编码,订单服务编码

课程收获:

1、微服务如何拆分:

(1)、先明白起点和终点

起点:既有的架构形态(老项目、新项目)

终点:好的架构不是设计出来的,而是进化而来的。进化一直在演进

(2)、需要考虑的因素与坚持的原则

2、业务形态不适合微服务拆分的

(1)、系统中包含很多很多强事务场景的

(2)、业务相对稳定,迭代周期长

(3)、访问压力不大,可用性要求不高

3、微服务的特点:

(1)、一系列微小的服务共同组成

(2)、单独部署,跑在自己的进程里

(3)、每个服务为独立的业务开发

(4)、分布式的管理

http://img2.sycdn.imooc.com/632bbed5000145a915870863.jpg

 

4、服务拆分

(1).拆分功能,单一职责,高内聚,低耦合;

(2).关注点分离;按职责,按通用性(公共组件拆分);服务的粒度;

(3).先考虑功能再考虑数据;

(4).无状态服务

http://img1.sycdn.imooc.com/632bbefa00019f0915600864.jpg

http://img1.sycdn.imooc.com/632bbefa0001ad2215700870.jpg



 

5、如何拆数据:

(1)、每个服务都有单独的数据存储。

服务之间通过api进行访问通信,服务之间有隔离;

(2)、根据服务特点选择不同的数据库。

类型很丰富,对事物要求不高,可以选mongodb;搜索服务可选elasticsearch;对事务要求高的可以选支持关系型数据库,可选mysql.

(3)、难点在确定边界。 

每个服务有自己关系的业务与数据,怎么针对不同的服务来设计api接口;服务拆分后,需要别的服务的数据,需要考虑调用方式,需要考虑冗余数据到自己服务,如何增加聚合度。


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP