深入理解Spring Cloud与微服务构建【一】 - 1.4 微服务的设计原则与Spring Cloud简介

微服务的设计原则

软件设计每一个版本都在变化,所以软件设计应该是渐进式发展。 软件从一开始就不应该被设计成微服务架构,微服务架构固然有优势,但是它需要更多的资源,包括服务器资源、技术人员等。追求大公司所带来的技术解决方案,刻意地追求某个新技术,企图使用技术解决所 有的问题,这些都是软件设计的误区。

  • 在微服务架构中,有三大难题,那就是服务故障的传播性、服务的划分和分布式事务。在 微服务设计时, 一定要考虑清楚这三个难题,从而选择合适的框架。目前比较流行的微服务框 架有 Spring 社区的 Spring Cloud、Google 公司的 Kubemetes 等。不管使用哪一种框架或者工具, 都需要考虑这三大难题。 为了解决服务故障的传播性, 一般的微服务框架都有熔断机制组件。 另外,服务的划分没有具体的划分方法, 一般来说根据业务来划分服务, 领域驱动设计具有指 导作用 。 最后,分布式事务一般的解决办法就是两阶段提交或者三阶段提交,不管使用哪一种 都存在事务失败,导致数据不一致的情况,关键时刻还得人工去恢复数据。总之,微服务的设 计一定是渐进式的,并且是随着业务的发展而发展的。

Spring Cloud简介

  • Spring Cloud 作为 Java 语言的微服务框架,它依赖于 Spring Boot,有快速开发、持续交付和 容易部署等特点。 Spring Cloud 的组件非常多,涉及微服务的方方面面,井在开源社区 Spring 和 Netflix、 Pivotal 两大公司的推动下越来越完善。本章主要介绍 Spring Cloud,将从以下方面来讲解。

微服务应该具备的功能。

  1. Spring Cloud 介绍。
  2. Dubbo 介绍。
  3. Kubemetes 介绍。
  4. Spring Cloud 与 Dubbo 比较。
  5. Spring Cloud 与 Kubemetes 比较。

相关推荐