目录
- 单体架构
- 微服务架构
- 服务治理之注册与发现和负载均衡
- 服务治理之限流熔断
- 服务治理之服务监控
今天给大家分享一个话题,是关于微服务架构的服务治理的,很多小伙伴可能都觉springboot是什么框架得自己玩儿过微服务架构,然后可能也听说过服务治理,但是服务治理到底是什么,有哪些东西,服务治理到底应该怎么来http://www.baidu.com做,这个可能就一头雾水了,所以今天就给大家聊httpclient聊这个微服务架构下的服务治理。
单体架构
首先springboot和ssm的区别,要说到微服务架构算法,那么先来讲讲,大家平时玩儿微服务架构到底是怎么来弄的,其实说来也特简单,以前没有上微服务的时候,可能直接就是sspringcloud五大组件pring bo算法的五个特性ot+ssm这一套架构就springcloud源码分析视频直接写一个单块新系统就ok了,用spri监控安装流程nspringcloud负载均衡g boot打一个jar包,然后jar包部署到线上系统以后,直接用java监控家用远程手机 -ja算法工程师r命令启动j监控系统vm进程运行咱们的代码就行了。
用spring boot的时候一般对外接收http请求的web服务器是内嵌的tomcat,就是sphttpclientring boot基于main方法启动之后,内嵌启动一个tomcat,tomcat会对外监听一个端口号,然后我们就针对那个端口号发起http请求就可以了,如下图。
微服务架构
所以这个时候咱们的系统从本质上来说,他就是一个单块系统,那如果升级到微服务架springboot自动配置构的话,应该是springcloud网关的作用是什么怎么样的呢?微服务的话,意思就是说把原来一个单块系统拆分成很多个服务,服务跟服务之间是通过nacos+dubbo这种服务注册中心和rpc框架来进行调用的。
5年以前一般业内常用的微服务基础框架是dubbo+zookeepe算法是指什么r的组springcloud面试题合,但是3年以前基本都过渡到了spring cloud技术栈做微服务架构,一两年前开springboot菜鸟教程始业内基本慢慢过渡到了spring cloud alibaba技术栈,就是说,用nacos作为服务注册中心,用dubbo作为rpc框架。
所以我们就以spring cloud alibabaspringcloud负载均衡的nacos+dubbo组合来举例,搞微服务的话,就是说,让各个服务都注册到nacos里去,然后服务要调用别的服务,就通过nacos进行服务发现,接着通过dubbo进行rpc调用,如下图。
就http 302跟这个图一样,其实很多服务互相之间调用,大致可以就先理解为一个微服务的架构了,因为我们的单块系统已经被拆分为http 404了很多的服算法是指什么务了httpclient。那么接着来说,我们对于这种微服务架构如何进行服务治springboot和ssm的区别理呢?
服务治springboot和springcloud区别理之注册与发现和负载均衡
首先要跟监控app下载大家说的一点是,服务治理的第一个事儿,其实就是springcloud五大组件服监控家用远程手机务注册和发现,所以说,通过nacos实现服务注册和发监控拍下东航客机坠落瞬间现,就已经干了服务治理的第一个事儿了。好,那么服务治理的第二个事儿是什么呢?其实就是负载均衡,这个负载均衡是什么意思呢?其实就是说,我们每个服务都可以部署多台机器,就有多个服务实例。
那算法的空间复杂度是指么一个服务可以发现另http协议外一个服务实例的多台机器,到底应该调用哪一台呢?这个时候就得用负载均衡算法了,用算法找到一台机器,然后就可以针对那台机器发起一次rpc调用。这个负载均衡的活儿,就是dubbo给我们干的HTTP,如下图。
服务治理之限流熔断
接着呢,这个服务治理里面springboot自动装配原理第三个事儿,就是限流熔断,分两块来说,因为限流是用来防止系统被压垮的,熔断是用来防止系统被springcloud注册中心拖垮的,先说限流,假设你的系统正常最多http协议只能抗每秒1000个请求,结果此时来了每秒2000个请求,会如何?当然会压垮你的系统了,所以算法设计与分析此时我们就必须做一个限流,如果每算法的有穷性是指秒超过了1000个请求,后续的请求全部都直接返回禁止访问,如下http代理图。
然后来说熔断,熔断的意思是说,如果你调用一个系统,结果那个系统挂了,然后你每次调用他都是失败失败失败,而且每次失败还得阻塞一会儿那不就把你自己给拖垮了吗?所以这个时候就必须上熔断,如果一旦发现要是在一段springcloud网关的作用是什么时间内频繁调用别人失败,此时就触发熔断,熔断之后,就每次请求springboot常用注解过来直接报错返回,如下图。
那么这http 500个限流和熔断是靠监控家用远程手机谁给你干呢?spring cloud alibaba里的sentinel就可以把这个事儿给你干了,所以限流熔断这块工作是他给干的。
服务治springboot自动配置理的下一个活儿是配置中心,就是说,平时咱们系统的配置是不是都是放在src/maispringboot常用注解n/rsource目录下的各种 properties和xspringboot和springcloud区别ml文件?但是如果你要是系统部署上线了,你要修改配置,就只能修改监控拍下东航客机坠落瞬间代码里的配置http 302,然后重新打http 500包部署上线,这太麻烦了,对不对。
所以如果引入一个配置中心,系统的一些核心配置直接从配置中心里动态加载,然后如果算法的有穷性是指要修改配置直接在配置中心里修改,接着线上系统直接就感知到最新配置运用就可以了,那就不用每次修改配置都打包重新部署了,这个配置中心的活儿是nacos给我们干的,如下图。
服务治理之服务监控
然后服务治理的最后算法一个环节,就是服务监控,这个监控包括了很多内容,比如说对线上系统部署的各个服务器的cpu、springboot和springcloud区别内存、磁盘、网络、io进行监控,以及springcloud网关的作用是什么对线上系统的jvm gc进行监控,包括对线上系统的各个接口的QPS和延迟进行监控,同时还可以对线上微服务系统的各个服务之间进行调用的调用链路进行监控,这些事情通常是用prometheusspringboot启动流程和skywalking两个监控系统配合完成的。
skywaspringcloud和springboot的区别lking通常可以追踪我们的微服务调用链路,prometheus可以对我们的线上系统的服务器、jvm以及接口各个层次进行监控,如下图。
好了,今天给大家监控安装介绍的微服务治理的内容到这里就结束了。
END
扫码 免费获取 600+页石杉老师原创精品文章汇总PDF
原创技术文章汇总