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

天河高端网站建设中国企业网控股有限公司

天河高端网站建设,中国企业网控股有限公司,企业网站建设的目的论文,桂林市区到阳朔有多远文章目录 前言一、Ribbon负载均衡1.LoadBalancerInterceptor#xff08;负载均衡拦截器#xff09;2.负载均衡策略IRule 二、Nacos注册中心1.Nacos简介2.搭建Nacos注册中心3.服务分级存储模型4.环境隔离5.Nacos与Eureka的区别 总结 前言 在上面那个文章中介绍了微服务架构的… 文章目录 前言一、Ribbon负载均衡1.LoadBalancerInterceptor负载均衡拦截器2.负载均衡策略IRule 二、Nacos注册中心1.Nacos简介2.搭建Nacos注册中心3.服务分级存储模型4.环境隔离5.Nacos与Eureka的区别 总结 前言 在上面那个文章中介绍了微服务架构的概念以及eureka注册中心的概念在本节中我们将继续介绍微服务技术栈的其他两个组件Ribbon和Nacos。 一、Ribbon负载均衡 1.LoadBalancerInterceptor负载均衡拦截器 在上篇文章中讲到Spring会自动帮助我们从eureka-server端根据userservice这个服务名称获取实例列表而后完成负载均衡。 那么这个负载均衡底层是由谁帮助我们完成的呢?为什么发出的请求明明是http://userservice/user/1怎么变成了http://localhost:8081/user/1的呢 解答SpringCloud底层其实是利用了一个名为Ribbon的组件来实现负载均衡功能的。 接下来我们在源码中追踪一下负载均衡功能的具体实现。 底层源码 request.getURI()获取请求uri本例中就是 http://user-service/user/8originalUri.getHost()获取uri路径的主机名其实就是服务iduser-servicethis.loadBalancer.execute()处理服务id和用户请求。 this.loadBalancer是LoadBalancerClient类型我们继续跟入execute方法。 getLoadBalancer(serviceId)根据服务id获取ILoadBalancer而ILoadBalancer会拿着服务id去eureka中获取服务列表并保存起来。getServer(loadBalancer)利用内置的负载均衡算法从服务列表中选择一个。 2.负载均衡策略IRule 从上面的源码可以看出getServer(loadBalancer)方法利用内置的负载均衡算法从服务列表中选择一个。 继续追踪chooseServer方法发现里面有个rule。 这里的rule默认值是一个RoundRobinRule看类的介绍 RoundRobinRule()是轮询的意思到这里整个负载均衡的流程我们就清楚了。 总结SpringCloudRibbon的底层采用了一个拦截器拦截了RestTemplate发出的请求对地址做了修改。 负载均衡的规则都定义在IRule接口中接下来我们来研究一下IRule接口。 IRule接口有很多不同的实现类不同实现类的含义不同默认的实现就是ZoneAvoidanceRule是一种轮询方案 如果我们要更改负载均衡策略即自定义负载均衡策略我们要怎么办 1.代码方式在order-service中的OrderApplication类中定义一个新的IRule Bean public IRule randomRule(){return new RandomRule(); }2.配置文件方式在order-service的application.yml文件中添加新的配置也可以修改规则 userservice: # 给某个微服务配置负载均衡规则这里是userservice服务ribbon:NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule # 负载均衡规则 二、Nacos注册中心 1.Nacos简介 在上篇文章中已经介绍了eureka这个注册中心现在来介绍另外一个注册中心Nacos。Nacos是阿里巴巴的产品现在是SpringCloud中的一个组件。相比EurekaNcaos功能更加丰富在国内受欢迎程度较高。 Nacos是SpringCloudAlibaba的组件而SpringCloudAlibaba也遵循SpringCloud中定义的服务注册、服务发现规范。因此使用Nacos和使用Eureka对于微服务来说并没有太大区别。主要差异在于依赖不同和服务地址不同。 2.搭建Nacos注册中心 1引入依赖 在cloud-demo父工程的pom文件中的dependencyManagement中引入SpringCloudAlibaba的依赖 dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-alibaba-dependencies/artifactIdversion2.2.6.RELEASE/versiontypepom/typescopeimport/scope /dependency在user-service和order-service中的pom文件中引入nacos-discovery依赖 dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId /dependency2配置nacos地址 在user-service和order-service的application.yml中添加nacos地址 spring:cloud:nacos:server-addr: localhost:8848重启微服务后登录nacos管理页面在服务列表可以查看服务信息。 3.服务分级存储模型 一个服务可以有多个实例假如这些实例分布于全国各地的不同机房nacos就将同一机房内的实例划分为一个集群。 微服务互相访问时应该尽可能访问同集群实例因为本地访问速度更快。当本集群内不可用时才访问其它集群。修改application.yml文件添加集群配置。 cloud:nacos:server-addr: localhost:8848discovery:cluster-name: HZ默认的ZoneAvoidanceRule并不能实现根据同集群优先来实现负载均衡。因此Nacos中提供了一个NacosRule的实现可以优先从同集群中挑选实例。 userservice: # 给某个微服务配置负载均衡规则这里是userservice服务ribbon:NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则因此Nacos提供了权重配置来控制访问频率权重越大则访问频率越高。在nacos控制台找到实例列表点击编辑即可修改权重。如果权重修改为0则该实例永远不会被访问 4.环境隔离 Nacos提供了namespace来实现环境隔离功能 1.nacos中可以有多个namespace。 2.namespace下可以有group、service等。 3.不同namespace之间相互隔离例如不同namespace的服务互相不可见。 给微服务配置namespace只能通过修改配置来实现。例如修改application.yml文件指定命名空间。 spring:cloud:nacos:server-addr: localhost:8848discovery:cluster-name: HZnamespace: 492a7d5d-237b-46a1-a99a-fa8e98e4b0f9 如果order-service和userservice在不同的命名空间下此时访问order-service因为namespace不同会导致找不到。 5.Nacos与Eureka的区别 Nacos的服务实例分为两种类型 1.临时实例如果实例宕机超过一定时间会从服务列表剔除默认的类型。 2.非临时实例如果实例宕机不会从服务列表剔除也可以叫永久实例。 cloud:nacos:server-addr: localhost:8848discovery:cluster-name: HZephemeral: false #设置为非临时实例Nacos和Eureka整体结构类似服务注册、服务拉取、心跳等待。 1.Nacos支持服务端主动检测提供者状态临时实例采用心跳模式非临时实例采用主动检测模式亲儿子 2.临时实例心跳不正常会被剔除非临时实例则不会被剔除。 3.Nacos支持服务列表变更的消息推送模式服务列表更新更及时。 总结 Nacos和Eureka整体结构类似都支持服务注册和服务拉取以及服务提供者心跳方式做健康检测但是也存在一些差异。在后续的文章中我们将学习更多有关nacos的知识包括统一配置中心热更新以及nacos集群。
http://www.w-s-a.com/news/587007/

相关文章:

  • 以网站建设为开题报告大数据技术就业前景
  • dw做网站字体 别人电脑显示青岛活动策划公司
  • 网站成立时间查询墨猴seo排名公司
  • 技术支持 随州网站建设苏州企业网站建设定制
  • 美食网站开发目的与意义网站开发环境选择
  • 青岛西海岸新区城市建设局网站开发板在null不可用
  • 企业信息管理系统免费seo优化个人博客
  • 做任务的设计网站泰州哪里做网站
  • 什么网站可以做设计赚钱吗南京十大软件公司排名
  • 网站开发时间进度北京有哪些著名网站
  • 深圳比较好的设计网站公司自己的网站到期域名如何续费
  • 温州做网站哪儿新云网站模版
  • 网站开发 视频存在哪检察院前期网站建设
  • 备案中的网站信息怎么填如何做分享赚钱的网站
  • 网站行程表怎么做注册公司费用要多少
  • 常见电子商务网站基本模式南山网站公司定
  • 网站搭建代码网站里面送礼物要钱怎么做代码
  • 大学英文网站建设举措wordpress 学院 模板
  • 爱 做 网站吗php网站作业模版
  • wordpress代码乱吗台州做网站seo的
  • 做ptt网站wordpress中文企业网站
  • 深圳雨棚制作深圳 网站优化公司排名
  • 深圳优秀网站建设价格wordpress没人用
  • 国企网站建设需要注意沈阳招标信息网
  • 东莞360推广的网站是谁做的上海网络推广产品
  • 网站可以换主机吗中国十大网站建设企业
  • 怎么做盗版小说网站官网做有下拉列表的网站的图片
  • 邢台网站建设电话网站界面类型
  • 网站制作合同模板做一个网站能挣多少钱
  • 汶上1500元网站建设互联网高端官网