- 关于微服务
近几年,'微服务'这个词越来越多的被身边的人所提及,到底什么是微服务,为什么微服务总是伴随着spring cloud被人们所提及,这里笔者结合多年的技术经历跟大家分享下自己的理解:
1、服务的划分
各服务边界清晰、功能明确、各司其职,作为一名技术人员,设计一个系统要充分考虑到业务架构和技术架构,’微‘的概念,我理解的重在’专‘,举个例子’网关服务‘功能是做路由分发和协议转换等和业务无关的事情,方便我们后面扩展和升级,如果引入一些业务相关的功能,频繁的业务需求变更可能影响到网关的稳定性(业务bug、复杂业务拖累网关性能)等,在这一点上,无论spring cloud框架的出现与否,都不会改变我们作为一名技术人员对合理架构的设计,所以在’微服务‘概念出现之前其实我们已经开始做’微服务‘了!
2、服务的运营效率
2.1、研发效率提升
我们知道在一个传统的开发过程中需要经历的一些基本步骤,研发或运维同学需要部署线上环境,安装tomcat、指定端口、日志目录、部署路径等,之后诞生了spring boot,很明显的优势是提供了对包的依赖管理,我们不需要再关注各版本的选择带来的兼容性问题,还可以简化服务配置(端口、日志、监控等)
2.2、避免重复造轮子
spring cloud它能使开发者迅速搭建一套可运行的服务框架,它融合了多种开源组件,从网关、负载均衡、安全验证等,极大简化了开发者的工作量
2.3、运维效率提升
spring cloud是基于spring boot,运行简单,一条java命令即可运行,并且因为还支持配置管理,他的特点和运行机制天生具备了和docker进行融合的条件,实现一键部署,达到简单运维的目的 - spring cloud是什么
不是一个具体的框架,是一系列框架的集合,可以大大简化我们对基础设施的开发,支持的各框架之间松耦合、可拔插,如下图所示: - 面对选择,何去何从
技术同学面临的技术选择通常是,dubbo、spring cloud、service Mesh,面对林林总总的技术,我们该如何选择,这里先介绍前两者,serviceMesh后面单独开个主题介绍
1、dubbo是一个服务治理的框架
它所具备的服务发现、监控、隔离等是它作为一个服务治理框架所必须具备的基本能力,
2、而spring cloud是一个web开发的基础框架集
服务治理只是其中的一个子集,dubbo如果配合其他框架,如熔断限流的Sentinel、配置管理的diamond等,才可以与spring cloud进行同一纬度的比较!
转载于:https://my.oschina.net/13426421702/blog/3053121