总结Rajesh RV撰写的“ Spring Microservices”一书

最近,我读了Rajesh RV撰写的“ Spring Microservices”一书,在这里我想对其进行总结。 该书于2016年6月出版。但是,它似乎仍然有意义。


微服务不仅为开发人员带来乐趣,而且还满足业务需求。

是的,可以肯定,规划和实施可伸缩和分布式系统非常有趣,但开发人员应始终牢记我们这样做的原因-更快地评估业务流程,降低实验成本。

有意义的健康检查很重要

自我修复对于微服务架构非常重要。 为了提供它,您的服务必须准确报告其健康状况。 例如,您的服务部署在Kubernetes集群中,并公开/ health端点。 这样就可以在发生故障的情况下重新启动它,并将流量重新路由到运行状况节点。 此外,它还可以帮助您更好地了解您的应用,了解所有重要的依赖关系和要求。

Spring Cloud是微服务的不错选择

…如果您不害怕这种供应商锁定。 如果您的平台是100%基于Spring堆栈,那么在Spring Cloud的帮助下尝试解决微服务挑战似乎是合乎逻辑的。 从Spring Cloud ConfigSpring Cloud Streams的一系列很棒的项目,可以帮助您构建可靠且可管理的系统。 但是,例如,如果您在Kubernetes上运行服务,您将免费获得针对这些问题的替代解决方案(例如服务发现,负载平衡等)。

分布式跟踪为系统带来了透明度

在该领域,Spring为我们提供了Spring Cloud Sleuth解决方案。 它可以在Zipkin ,Cloudera或Dapper上运行。 集成的结果是,您将能够在日志消息中添加称为Trace-Id和Span-Id的信息,因此您可以跟踪整个系统中的请求链,例如在Kibana中 。 对调试,依赖性分析等非常有用。

自动缩放

……这不是小事。 除了从平台上进行自动扩展的技术支持(例如,Kubernetes拥有此功能,但数量有限,但还有一些第三方扩展来改进它)之外,您还真的需要考虑扩展策略,注意限制应用性能的因素。


当然,本书中还有更多有用的技巧。 这只是我关注的重点。 总计-值得花一些时间阅读。