结语
小编也是很有感触,如果一直都是在中小公司,没有接触过大型的互联网架构设计的话,只靠自己看书去提升可能一辈子都很难达到高级架构师的技术和认知高度。向厉害的人去学习是最有效减少时间摸索、精力浪费的方式。
我们选择的这个行业就一直要持续的学习,又很吃青春饭。
虽然大家可能经常见到说程序员年薪几十万,但这样的人毕竟不是大部份,要么是有名校光环,要么是在阿里华为这样的大企业。年龄一大,更有可能被裁。
送给每一位想学习Java小伙伴,用来提升自己。
本文到这里就结束了,喜欢的朋友可以帮忙点赞和评论一下,感谢支持!
优点:
1.开发简单:所有功能都在同一个项目中
2.容易部署:只需要打成一个 Jar / War 包就可以,不存在分布式部署
3.测试简便:没有复杂的接口调用,服务调用
缺点:
1.可维护性差:前期开发简单,后期维护困难,多个模块混合在一起,后期越改出错率越高,业务迭代简直是噩梦级别的
2.可靠性极差:一个模块报错,整个项目挂掉
3.可扩展性差:服务之间的紧密度、相依性过高
总而言之前期开发容易,后期维护仿佛碰瓷一样,他碰你没事,你碰他一下接着倒地不起。。
什么是分布式架构(微服务)?
分布式架构用白话来说,可以理解为程序模块化,将多个单体分层架构系统,以进程通讯技术整合到一起的一种架构风格。
相比单体架构的高耦合,分布式架构的思想采用的是高内聚,低耦合。
优点:
1.可维护性高:只需要维护当前模块内容,一个微服务模块都是一个单独的业务功能,相对而言极大的减少了代码量和业务逻辑
2.可靠性极高:某一模块异常不会影响整个程序的运行,例如登录模块异常但并不会影响商品模块
3.可扩展性高:可根据需求,对单一模块进行扩展
缺点:
1.部署难度高:对运维的要求较高
2.测试难度高:测试微服务架构的应用绝对比单体应用难很多,深有体会,集成测试过程是一场噩梦
3.增加了资源使用:每一个微服务应都需要拥有他们自己的运行容器,相对于单体架构而言,则需要更多的CPU和内存
相对于单体架构而言,构建一个分布式架构简直复杂的一批!不过分布式架构的适用项目是用来开发复杂应用。你要用单体架构来开发复杂的应用相当于小刀磨龟壳,智商欠费,用分布式架构来开发简单应用,无疑杀鸡用牛刀,还特喵贼难用
什么是 SOA 架构?
SOA 全称为 Service-Oriented Architecture 面向服务架构,当业务发展到一定层度后,需要对服务进行解耦,也就是把一整个项目模块拆分为不同的模块,服务层、视图层。服务层中包含业务逻辑,只需要对外提供服务,视图层只需要处理和页面的交互,业务逻辑都是调用服务层的服务来实现。
Kafka实战笔记
关于这份笔记,为了不影响大家的阅读体验,我只能在文章中展示部分的章节内容和核心截图
- Kafka入门
- 为什么选择Kafka
- Karka的安装、管理和配置
- Kafka的集群
- 第一个Kafka程序
afka的生产者
- Kafka的消费者
- 深入理解Kafka
- 可靠的数据传递
- Spring和Kalka的整合
- Sprinboot和Kafka的整合
- Kafka实战之削峰填谷
- 数据管道和流式处理(了解即可)
- Kafka实战之削峰填谷
00ff254613a03fab5e56a57acb)收录**