欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

荐 Spring Boot and Cloud part2

程序员文章站 2022-06-27 20:25:20
part21、微服务及单体应用的优缺点对比1.1、单体应用有如下优点:1.开发简单直接,集中式管理, 基本不会重复开发2.功能都在本地,没有分布式的管理开销和调用开销。它的缺点也非常明显,特别对于互联网公司来说:1.开发效率低:所有的开发在一个项目改代码,递交代码相互等待,代码冲突不断2.代码维护难:代码功能耦合在一起,新人不知道何从下手3.部署不灵活:构建时间长,任何小修改必须重新构建整个项目,这个过程往往很长4.稳定性不高:一个微不足道的小问题,可以导致整个应用挂掉5.扩展性不够:无...

part2

1、微服务及单体应用的优缺点对比
1.1、单体应用有如下优点:
1.开发简单直接,集中式管理, 基本不会重复开发
2.功能都在本地,没有分布式的管理开销和调用开销。
它的缺点也非常明显,特别对于互联网公司来说:
1.开发效率低:所有的开发在一个项目改代码,递交代码相互等待,代码冲突不断
2.代码维护难:代码功能耦合在一起,新人不知道何从下手
3.部署不灵活:构建时间长,任何小修改必须重新构建整个项目,这个过程往往很长
4.稳定性不高:一个微不足道的小问题,可以导致整个应用挂掉
5.扩展性不够:无法满足高并发情况下的业务需求
6.无法按需伸缩。
7.技术宅舞逐渐上升。
1.2、微服务是松藕合的,无论是在开发阶段或部署阶段都是独立的。
1.能够快速响应, 局部修改容易, 一个服务出现问题不会影响整个应用。
2.易于和第三方应用系统集成, 支持使用不同的语言开发, 允许你利用融合最新技术。
3.每个微服务都很小,足够内聚,足够小,代码容易理解。团队能够更关注自己的工作成果, 聚焦指定的业务功能或业务需求。
4.开发简单、开发效率提高,一个服务可能就是专一的只干一件事, 能够被小团队单独开发,这个小团队可以是 2 到 5 人的开发人员组成。
同样的, 也存在如下缺点:
1.微服务架构带来过多的运维操作, 可能需要团队具备一定的 DevOps 技巧.
2.分布式系统可能复杂难以管理。因为分布部署跟踪问题难。当服务数量增加,管理复杂性增加。
3.跨越边界的时候,迁移代码会变得极其复杂
4.重复代码,当多个服务需要相同的代码时,重复代码问题就越发严重
1.3、对比总结
1.为服务与单体应用并没有说一定是谁好谁差,仅是就目前来看,微服务发展的前景较好与单体应用
2.一般目前来讲,很多微服务的有点就是单体应用的缺点,单体应用的优点就是微服务的缺点,但是也并不是全部的优缺点都是对立的。
2、微服务宏观把控与深入剖析
2.1图像对比
从导图中看,微服务的调用关系远远复杂于单体应用
荐
                                                        Spring Boot and Cloud part2
2.2传统web
传统
荐
                                                        Spring Boot and Cloud part2
优化1:将一个系统拆分为多模块
荐
                                                        Spring Boot and Cloud part2
优化2:加入一个ESB(企业服务总线,7.8年前十分流行)
荐
                                                        Spring Boot and Cloud part2
优化3:微服务架构(通过rest接口的这种形式进行调用)
荐
                                                        Spring Boot and Cloud part2
区别:
荐
                                                        Spring Boot and Cloud part2
###2.3Martin Fowler说什么是微服务
荐
                                                        Spring Boot and Cloud part2
荐
                                                        Spring Boot and Cloud part2
特征:
荐
                                                        Spring Boot and Cloud part2

优点与挑战:
荐
                                                        Spring Boot and Cloud part2

特性:
荐
                                                        Spring Boot and Cloud part2
设计原则:
荐
                                                        Spring Boot and Cloud part2

3、SOA理论与概念深入剖析
3.1、SOA与微服务两种架构风格的解读
1、SOA是面向服务的一种架构风格
2、基本原则:独立于厂商,独立于产品,独立于技术。
3、服务:是一种离散的单元
3.2、服务的定义与概念
1.、服务可以从网络中任何一个地方进行调用。
2、服务应该被设计为长久存在的
3、服务像是黑盒一样,对用户是隐藏内容的
4、服务本身是无状态的,要么返回期待的返回值,要么返回一个异常
5、服务的可重用性
3.3、SOA的实现方式和模式
1、SOA一般来讲可以由服务提供者,服务代理者和服务使用者三部分进行解释。
2、服务提供者:向服务代理者提供自己的信息,提供者需要根据需求提供服务
3、服务代理者(服务仓库):向请求者提供一个服务注册平台
4、服务请求者:请求服务
3.4、SOA与微服务的关系
1、微服务是一种现代化面向服务的架构,用于构建分布式的系统,对于SOA的一种新的实现方式。
2、微服务是SOA的一种变种架构风格,微服务是细密度,强调轻量级的
3、微服务使持续性开发,持续性部署成为了一种可能

3.5两种架构风格的本质剖析
1、SOA着眼点在于企业,微服务着眼于应用方面
2、SOA更少的考虑模块化,更多的考虑如何集成
3、SOA最大化了应用服务的可重用性,微服务则是注重解藕
4、SOA的开发运维并未成为主流,微服务更加注重于开发运维
5、SOA会使用esb(企业总线),微服务则会选择使用更加简单的一些消息系统
6、SOA会使用一个公共的大平台,微服务则会使用云平台
7、SOA中容器并未非常流行,微服务中将会将服务与容器更好的结合
8、SOA是共享一个数据存储,微服务是每一个服务拥有一个数据存储,也可以多个五福共用一个数据存储
9、SOA希望最大化的共享,微服务希望最小化的共享,通过上下文进行绑定
10、SOA更适合于大型的复杂的企业级应用,微服务更适合于web一类的简单的应用

本文地址:https://blog.csdn.net/qq_41217631/article/details/107375170

相关标签: 学习 spring