架构新起点

架构????

从一开始学习 JavaEE 开始,最开始听到的便是三层架构+MVC。我认为的架构,是整个项目的结构,由项目中的各个组件组合而成,就像是积木拼搭在一起支撑起整个体系结构,而架构的目的就是为了解耦,以至于使用各种开发框架。


微服务

微服务是一种新型的架构风格和架构思想,从2014年开始被人们所关注。

由于互联网发展迅速,传统的单体架构无法承受大流量导致的高并发问题,经过这么多年的架构演变,更多能够支撑高并发的架构不断出现,例如 SOA 架构(面向服务),以及微服务架构。

在我看来,微服务架构更像是 SOA 架构的升华,相比于 SOA 架构,微服务架构从字面上更注重“微”。SOA 将服务抽取合并到同一层中(服务层),但是这并不符合“高内聚,低耦合”原则。

微服务架构能够更好的进行分布式系统开发,它注重的是将整体业务组件化,将单体项目按照多种拆分方式拆分成一个一个独立的服务,每一个服务就是一个项目,可以独立部署运行。


问题

既然微服务架构将单体应用进行拆分,单独部署运行,那么必然会面临一些新型问题,这也是微服务架构需要解决的四大问题。

1.这么多服务如何管理

将单体应用按服务拆分,通过不同程度的拆分粒度,可能拆分出几十甚至几百个服务。那么,这些成百上千的服务,没有一个统一的管理是肯定不行的,如果没有一个管理者将其全部监控管理,那么即使能够部署成功,在运行过程中出现的问题也不可能发现。

2.服务如何访问

浏览器访问项目通过ip地址,但是在部署这么多服务的情况下,每个服务的ip地址都是不相同的,我们不可能让浏览器或者用户记住每个服务的ip地址,那么这么多的服务要怎么让浏览器统一的访问也是个重要的问题。

3.服务与服务之间如何通信、调用

从微服务的拆分来看,拆分出来的每个服务都是单独独立运行的,服务与服务之间没有任何的关系,但是,项目中可能存在这个服务需要调用另一个服务功能,便出现了服务与服务之间相互调用的问题,应该怎么调用才是最好的。

4.服务崩溃怎么办

在高并发、大流量的情况下,服务总会有支撑不住的时候,服务宕机问题也是需要实时监控的,以便在第一时间进行修整。


我认为,微服务架构属于包含松耦合分布式组件的系统结构,提供了一种新型的、更清晰的架构思想,进行项目的拆分的确很大程度的降低了项目中的耦合度问题,但是有利有弊,在降低耦合度时发生的上述四种问题也是需要解决的,如果能够很好的解决微服务的四大问题,我觉得微服务架构在将来会有很大的发展。




以上都是作者本人在学习微服务架构过程中自我理解的,如果有误,请指出共同进步。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值