什么是微服务

单体应用
业务通常是通过部署一个 WAR 包到 Tomcat 中,然后启动 Tomcat,监听某个端口即可对外提供服务。

单体应用优点:
方便调试,代码都在一起;
没有分布式开销,所有服务都在本地容器内;
中小型项目可以快速迭代,不需要太多资源

单体应用容易造成的问题:
版本管理难:当项目规模变大时,代码容易产生冲突。
稳定性差:局部服务有问题,可能会影响整体;
可维护性差:规模扩大复杂性直线上升,造成系统不易理解;
可扩展性差:无法满足高并发下对应用的要求,不利于较高利用率的横向扩展;
可复用性差:服务被打包在应用中,功能不易复用;
灵活性差:服务不容易灵活调配、升降级等。
 

服务化

用通俗的话来讲,服务化就是把传统的单机应用中通过 JAR 包依赖产生的本地方法调用,改造成通过 RPC 接口产生的远程方法调用

1. 优点
易于开发和维护:一个微服务只会关注一个特定的业务功能,所以业务清晰、代码量较少。开发和维护单个微服务相对简单。
单个微服务启动较快
局部修改容易部署:单体应用只要有修改,就得重新部署整个应用。微服务解决了这样的问题。一般来说,对某个微服务进行修改,只需要重新部署这个服务即可。
技术栈不受限制:在微服务架构中,可以结合项目业务及团队的特点,合理的选择技术栈。
按需伸缩:可根据需求,实现细粒度的扩展。
2. 缺点
运维要求高:更多的服务意味着要投入更多的运维。
分布式固有的复杂性:使用微服务构建的是分布式系统。对于一个分布式系统,系统容错、网络延迟、分布式事务等都会带来巨大的问题。
接口调整成本高:微服务之间通过接口进行通信。如果修改某一个微服务的API,可能所有用到这个接口的微服务都需要进行调整。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值