微服务开发与通信:从基础到高级实践
1. 微服务开发循环与挑战
在微服务开发中,完成首个任务并进行适当测试后,应进行首次部署,这标志着首个开发周期的结束,随后需回到规划阶段。持续进行这种小任务循环,能实现更快的开发和部署,达成持续集成与持续部署,即开发并部署到测试集群,若测试通过,更改可自动测试和部署。
1.1 微服务架构优势与挑战
微服务架构具有诸多优势,如将代码拆分为更小的独立项目,便于开发和责任分配。但这种优势也伴随着代价,会构建更复杂的系统或应用。由于微服务的工作方式,存在信息隔离,负责特定信息的微服务应是唯一操作该信息的服务,其他服务需与其通信以获取信息。这虽能更精细地控制信息,但复杂应用会增加网络负担,因为存在大量服务间消息传递。
1.2 开发中的障碍
- 网络问题 :服务间消息传递意味着网络流量和延迟,若服务不在同一本地网络,会产生明显延迟。添加缓存服务加速访问会增加复杂度。
- 测试困难 :尽管单个微服务的测试和开发比单体应用容易,但综合考虑微服务测试框架以及多个服务一起测试时会更复杂。
- 避免纳米服务 :应避免过度细化架构创建过小的服务,即纳米服务,这是一种反模式,会使开发极度复杂。需在微服务数量和功能间找到平衡,可将其类比为处理特定任务的人员,思考任务是否简单到只需一人处理,人员是否应承担同一上下文的更多任务。
1.3 微服务的价值
如今的应用适合采用微服务架构,应用不再是单体的,且早已脱离传
超级会员免费看
订阅专栏 解锁全文
641

被折叠的 条评论
为什么被折叠?



