商城项目运维篇,简单理解~
程序员文章站
2022-05-13 21:26:00
...
展示效果会在完成的时候厚积篇展示,源码评论随缘分享(基本没人评论,你懂的)
我不喜欢将一些深的东西,都是最通俗理解,跟着走就行
分布式基础
1.微服务
以前写的代码,页面,代码,sql语句都在一起,如果一处出现错误,可能这个都没办法使用服务程序,所以微服务把整个项目拆分。
2.集群&分布式&节点
集群:一堆机器一起工作就叫做集群,物理形态
分布式:工作方式
举例:京东就是一个分布式系统,业务都是运行在不同的机器上,所有业务的构成了一个业务集群,并发量比较大的时候
登录,注册部署到多个服务器上,每一个业务系统也是可以做集群化
分布式中的每一个节点(集群的服务器),都可以做集群,而集群并不一定就是分布式(登陆注册案例)
3.远程调用
在分布式系统中,每个服务处于不同的主机,但是要相互调用,比如a机器的商品模块,b机器的订单需要调用商品模块,这里就需要远程调用
需要的技术springcloud使用http+json
4.负载均衡
订单调用商品服务(s商品服务存在不同的服务器,为了减轻服务器的压力)使用负载均衡方法调用服务器
简单理解就是:不要让服务其太闲也不要服务器太忙
常见的负载均衡的算法
1.轮询
依次访问,1-2-3-4-1-2-3-4。。。
2.最小连接
优先选择连接数少的服务器,参考游戏推荐服务器都是最小连接推荐
3.散列
通过发过来的ip分类选择服务器(参考dnf服务器不同屈服)
5服务注册,发现&注册中心
A服务代表订单,B服务代表商品,A服务调用B服务,但是商品服务分布在不同的服务器上,可能第一个下线或上线,有可能访问不到,为了解决这个问题,中间件注册中心,服务器上线就在那里注册一下,访问的时候访问注册中心知道那个在线或不在线
6.配置中心
同上保证版本一致
7.服务熔断&服务降级
当用户的访问量过大的时候,一个服务出现问题,可能回收i整个服务器出现雪崩,解决方案
**服务熔断**
多次访问都失败的次数达到一定上限,就不去访问这个服务
**服务降级**
不重要的服务往后排
8.API网关
为了省事,以上那些顾虑,在我们发来请求的时候放在一个地方完成以上所有功能---网关