关于软件架构的思考

一个突然的想法引发的不成熟的技术推演

单体应用

	许多软件的诞生应该都是由单体应用演变而来
	而这个过程是许多个名勇士用血的教训得出来的
	最初的ssm+mvc(思想) spring+smvc+mybatis :  mapper >service> controller
	整体看来属于很简单很单纯的技术架构,
	优点都知道 很清晰 一眼看破!
	缺点:1.新手不太友好 ,各种各样的配置文件引起的漏,冲突,这类问题(属于)很好解决的
			2.业务的增加 以及复杂度的增加,工具类的引入 会使		整个架构显得很拥挤虽然架构层次很清晰,但是业务之间的依赖性 会造成引					用循环、耦合度激增 导致很多很烦人的的问题。

当然在此基础上出现了一些改进maven 多模块 我见到的第一个多模块是这样的思想:
common(提供配置、工具类等一些辅助物品) --》data (专门处理业务)–》api 对外开放
各有各的功能各司其职,传递式架构,common提供支持给data data提供业务数据 给 api api 给前端
优点:功能分化明显
缺点:
1.配置文件一样都不能少
2.单体缺陷无法逃脱

springboot

简化配置:
由上面的传统ssm 升级到springboot 简化了大多的配置
缺陷:依然单体
当业务模块达到一定数额后 更新 ,增加 会显得格外麻烦
实际场景:
比如 抖音 我要增加一个新功能时 这个功能上去的时候总不能全部都停吧?高密度的使用时段的时候 重启会引发很多不必要的问题
这时候就需要想办法了 怎样才能增加新功能而不影响其他的功能 重启也能不会使其他模块停掉?
这时候会自然而然地想到独立业务模块,时每个业务模块都是独立系统 他们之间只存在业务上的联系 减少其他方面的联系,相信大家都明白吧? 咱们就从不会应用只听说过来讲  spirngclude 等微服务框架的出现解决了之一问题,
咱们就初略的思考 微服务就是独立的每个业务模块
新的问题出现了  这些模块之间怎么通信呢?
**中间件闪亮登场:**
		路由技术 -----解决通信
		熔断---解决一些不可预知的问题
		链路追踪--清晰调用顺序问题
		网关---网络安全方面的问题
		日志什么的-会出现一种现在都在搞elk 那个还不懂哈。就是看日志的 好找错误
		简写 
		目前工作 
			一年零3个月 初始springclude 都没看完呢。。看的时候很模糊 ,今天的一次思考让我明白了很多
			中件为什么会出现? 架构为什么会不断演变?什么时候选什么架构。通过逻辑推演,技术推演,
			可以对一些技术能够有一些预见性,
		上面一些技术架构思想流行的时间顺序有可能也有些误差,请大佬们多多指导 ,这篇文章算是我的简单思考 ,只能写这么多了经验不多。就连上面的中间件的名字都记不全,,只知道一些东西就该出现在那个位置,因为有必然性。晚安!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱飞的云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值