soa和微服务的区别
1.SOA 关注的是服务的重用性、以及解决企业内部的信息孤岛问题
2.微服务关注的是解耦,解耦和可重用性在特定的角度来看是一样,但本质上是不同的。解耦是降低业务之间的耦合度(也就是微服务关注的服务粒度),而可重用性关注的是服务的复用
3.微服务会使用更轻量级的通信协议,使用 Restful 风格的 API。轻量级协议可以很好的支持跨语言,是的语言生态更加丰富
4.微服务会更多的关注 Devops 的持续交付,因为服务粒度更细使得开发运维变得更加重要。所以微服务对于容器化技术的结合更加紧密
5.SOA 应该是微服务的超集-
你是怎么理解微服务的?
微服务也是一种面向服务的架构模型,只是它更强调服务的粒度。也就是服务的职责更加单一更加精炼。我们也可以把 SOA 看成是微服务的超集。 也就是多个微服务可以组成一个 soa 服务。
什么是SpringCloud
1.SpringCloud是微服务技术体系,spring cloud 提供了一些可以让开发者快速构建分布式应用的工具,这些服务可以很好的工作在任何分布式环境下。
2.SpringCloud将微服务开发中需要组件进行整合,对一些开源项目进行整合,方便用户使用。
微服务架构的优点和缺点有哪些?
优点:
1.每个微服务都很小,这样能聚焦一个指定的业务功能或业务需求。
2.微服务能够被小团队单独开发,这个小团队是2到5人的开发人员组成。
3.微服务是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的。
微服务能使用不同的语言开发。
4.微服务易于被一个开发人员理解,修改和维护,这样小团队能够更关注自己的工作成果。无需通过合作才能体现价值。
5.微服务允许你利用融合最新技术。
6.微服务只是业务逻辑的代码,不会和HTML,CSS 或其他界面组件混合。
缺点:
1.微服务架构可能带来过多的操作。
2.需要DevOps技巧。
3.可能双倍的努力。
4.分布式系统可能复杂难以管理。
5.分布部署跟踪问题难。
6.当服务数量增加,管理复杂性增加。
SpringCloud解决了什么问题?
1.快速构建微服务应用。
2.服务的通信和服务的发现、负载、熔断、限流、降级、统一配置、监控