当前位置: 首页 > news >正文

罗湖商城网站设计推荐网站优化排名首页

罗湖商城网站设计推荐,网站优化排名首页,宁波网络公司电话,阿里云域名查询系统目录 前言 一、服务下线二、权重配置三、同一个集群优先访问四、环境隔离 前言 我们的生产环境相对是比较恶劣的,我们需要对服务的流量进行更加精细的控制.Nacos支持多种负载均衡策略,包括配置权重,同机房,同地域,同环…

目录

      • 前言
    • 一、服务下线
    • 二、权重配置
    • 三、同一个集群优先访问
    • 四、环境隔离

前言


我们的生产环境相对是比较恶劣的,我们需要对服务的流量进行更加精细的控制.Nacos支持多种负载均衡策略,包括配置权重同机房同地域同环境


一、服务下线

当某一个节点上接口的性能较差时,我们可以第一时间对该节点进行下线

操作步骤: 服务详情 -> 下线
在这里插入图片描述
在这里插入图片描述

点击下线以后,我们再请求该服务接口,会发现没有服务请求出来了

此处我们的order服务远程调用了product服务,但由于下线了9091端口的实例,所以导致它接收不到请求,所以右边的日志也没有变化
在这里插入图片描述

再次单击上线,该节点就会继续接收请求
在这里插入图片描述


二、权重配置

我们也可以通过配置节点的流量权重,来解决某些节点性能较低的问题

  1. 操作步骤:找到对应节点-编辑->在弹出的窗口修改权重
    在这里插入图片描述

  2. 光在nacos服务端上配置了还不够,由于SpringcloudLoadBalance组件自身有负载均衡配置方式,所以不支持Nacos的权重属性配置我们需要开启Nacos的负载均衡策略,让权重配置生效

spring:cloud:loadbalancer:nacos:enabled: true

配置完成后我们重新启动服务,再多次发送请求:
在这里插入图片描述
在这里插入图片描述
通过观察我们可以发现刚才配置了权重为0.1的9091节点处理的请求数明显比9092的要少

可能出现的问题:

当修改权重时,可能会出现报错,报错信息可能如下

caused: errCode: 500, errMsg: do metadata operation failed ;caused:
com.alibaba.nacos.consistency.exception.ConsistencyException: The Raft Group
[naming_instance_metadata] did not find the Leader node;caused: The Raft Group
[naming_instance_metadata] did not find the Leader node;

原因:Nacos采用raft算法来计算Leader,并且会记录前一次启动的集群地址,当服务器IP改变时会导致raft记录的集群地址失效,导致选Leader出现问题.(网络环境发生变化时,IP地址也会发生变化

解决办法:删除Nacos根目录下data文件夹下的protocol文件夹即可


三、同一个集群优先访问

Nacos把同一个机房内的实例,划分为一个集群.所以同集群优先访问,在一定程度上也可以理解为同机房优先访问

微服务架构中,一个服务通常有多个实例共同提供服务,这些实例可以部署在不同的机器上,这些机器可以分布在不同的机房,比如product-service:

实例1:分布在上海机房
实例2:分布在北京机房
实例3:分布在北京机房
在这里插入图片描述

微服务访问时,应尽量访问同机房的实例.当本机房内实例不可用时,才访问其他机房的实例

比如order-service在上海机房,product-service在北京和上海机房都有实例,那我们希望可以优先访问上海机房,如果上海机房没有实例,或者实例不可用,再访问北京机房的实例通常情况下,因为同一个机房的机器属于一个局域网,局域网访问速度更快一点

在这里插入图片描述
给实例配置集群名称:
在这里插入图片描述
将前两个服务配置文件添加spring.cloud.nacos.discovery.server-addr.cluster-name项配置集群名称:

spring:cloud:loadbalancer:nacos:enabled: truenacos:discovery:server-addr: http://120.26.87.94:10020/cluster-name: SH #上海

后面两个复制出来的服务我们也来配置一下他们的集群名称:
在这里插入图片描述
在这里插入图片描述
修改完毕后启动服务器,查看Nacos管理界面

此时我们9090端口的product服务就是在SH集群上的,而9091和9092在BJ集群上
在这里插入图片描述
而我们的订单服务此时是配置在SH集群的
在这里插入图片描述
此时在频繁发起请求,就会发现只有9090端口的服务收到了请求,因为它和订单服务属于同一个集群
在这里插入图片描述


四、环境隔离

企业开发中,一个服务会分为开发环境,测试环境和生产环境.

  1. 开发环境:开发人员用于开发的服务器,是最基础的环境.一般日志级别设置较低,可能会开启一些调试信息.
  2. 测试环境:测试人员用来进行测试的服务器,是开发环境到生产环境的过渡环境.
  3. 生产环境:正式提供对外服务的环境,通常关掉调试信息.

通常情况下,这几个环境是不能互相通信的.Nacos提供了namespace(命名空间)来实现环境的隔离.

不同的namaspace的服务不可见.

默认情况下,所有服务都在同一个namespace,名为public

创建Namespace:
在这里插入图片描述
配置服务的namespace”:

配置项Key默认值说明
命名空间spring.cloud.nacos.discovery.namespace常用场景之一是不同环境的注册的区分隔离,例如开发测试环境和生产环境的资源(如配置、服务)隔离等.

在这里插入图片描述

spring:cloud:nacos:discovery:namespace: #命名空间id

在这里插入图片描述
我们现在将order-service的命名空间配置为dev, product-service的命名空间配置为test, 然后重启服务观察:

现在order-service已经在dev这个命名空间下了

而所有的product-service都在test里了

在这里插入图片描述
在这里插入图片描述
测试接口:

此时因为我们的order-service在它所在的命名空间里没有product-service的服务实例,导致远程调用就失败

在这里插入图片描述
查看报错日志:
在这里插入图片描述


在这里插入图片描述

http://www.yayakq.cn/news/134501/

相关文章:

  • 网站的建设与推广帮做论文网站吗
  • 人物设计网站wordpress主题 淘客
  • 凡科互动游戏修改器一流的镇江网站优化
  • 四川手机网站怎样自创广告网站
  • 做网站哪家公司专业南宁小程序开发网站建设公司
  • 易企网站建设公司霸屏网站开发
  • 网站一级页面二级页面怎么做哪个网站可以做彩经专家
  • 平面设计素材网站哪个好服务器 wordpress 邮件
  • 网站用什么语言开发网站开发ceil(5.5)
  • 穿衣搭配的网站如何做三亚百度推广公司
  • 哪些网站建设公司浅议我国旅游景点网站的建设
  • 河北明迈特的网站在哪里做的做超市海报的网站
  • 深圳微商城网站设计电话wordpress wifri
  • 网站开发投标文件服务承诺部分app软件开发团队
  • 网站排名突然掉没了网站建设w亿玛酷1专注
  • 网站开发nodejs近期时事新闻10条
  • 网站的ftp帐号移动开发是干什么的
  • 建设网站好处小程序模板购买
  • 南昌网站建设冲浪者科技seo提高关键词
  • 南昌做网站的公司哪里好老师让做网站怎么做
  • 如何做自己的电影网站网站建设分类方案
  • 组建网站开发团队wordpress树结构插件
  • 网站建设对客户的优势android studio官网
  • 建设公司网站的细节全国小微企业名录
  • 清溪网站仿做青岛建筑网
  • 网站静态页面下载工具工程交易网
  • 四川华泰建设集团网站wordpress黑糖
  • c 做网站简单吗用微信怎么做企业网站
  • 虚拟空间网站ftp如何差异化同步大品牌网站建设
  • 东莞网站建设兼职石家庄网站建设推广公司报价