第十周学习总结

用户头像
潜默闻雨
关注
发布于: 2020 年 08 月 12 日

本周学习了微服务和领域驱动设计

微服务

微服务最初是出现是为了解决巨型应用面临的问题。巨型应用一次打包部署耗时过长,修改提交代码易冲突,造成开发上线效率低周期长,同时由于巨型应用被大量访问,造成数据库连接资源不够用,而添加新功能,有可能让巨型应用牵一发动全身,更新困难。微服务就是为了将大应用拆分成功能相对单一的小应用,从而使应用更新开发上线变得简单。

微服务调用,是通过远程调用,常用架构如dubbo。service mesh处理服务间通讯,与应用部署在一起,使用边车模式,将服务注册发现集中交给注册中心。

微服务落地,以业务先行,技术只是手段。通过功能独立的模块,及模块间的调用关系,架构出分布式服务。当业务耦合严重逻辑复杂的系统,对微服务使用要慎重,以免舍本逐末。明确采用微服务的目的。

微服务中的日志要使用全链路追踪,以方便定位问题。断路器,减少单个服务出现故障时造成的损失。服务上游响应超时时间要大于下游响应超时时间总和,最重要的还是业务需求,根据需求决定微服务的架构设计。

微服务网关主要是做检验和拦截,可以通过管道技术连接起来。

领域驱动设计

现实中很多项目实际情况不容乐观,缺乏设计,造成系统的杂乱无章,只是为了实现需求,做出功能能用即可。当项目时间一长,整个系统将不堪重负,很难运行下去。DDD就是为了解决以上问题的。领域给业务圈定了范围,给事情运作限定了方式,领域的限定拆分了一个大的业务,给大的业务做出一些限定,使其业务进展变得有序,变得有逻辑。领域模型就是一个对象实体,是独一无二的,领域模型的设计要把握好实体对象的特性,定义好其边界,让其与其他模型能够完好的相互协作。

战略设计:领域、子域、界限上下文、上下文映射图。战术设计:实体、值对象、聚合、CQRS、事件溯源。



用户头像

潜默闻雨

关注

还未添加个人签名 2018.11.23 加入

还未添加个人简介

评论

发布
暂无评论
第十周学习总结