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

什么是网站托管建站模板网

什么是网站托管,建站模板网,wordpress 中文水印,wordpress标题分隔符负载均衡 当服务流量增大时#xff0c;通常会采用增加机器的方式进行扩容。负载均衡就是用来在多个机器或者其他资源中#xff0c;按照一定的规则合理分配负载。其中的实现可以分成客户端负载均衡和服务端负载均衡。 服务端负载均衡 在服务端进行负载均衡的算法分配。 比…负载均衡 当服务流量增大时通常会采用增加机器的方式进行扩容。负载均衡就是用来在多个机器或者其他资源中按照一定的规则合理分配负载。其中的实现可以分成客户端负载均衡和服务端负载均衡。 服务端负载均衡 在服务端进行负载均衡的算法分配。 比较有名的服务端负载均衡器是Nginx。请求先到达Nginx负载均衡器然后通过负载均衡算法在多个服务器之间选择一个进行访问。 客户端负载均衡 Spring Cloud LoadBalancer 是 Spring Cloud 最新版本的负载均衡集成组件取代了早期的 Ribbon也是本文使用的负载均衡组件。它允许将负载均衡功能作为库集成到客户端而不再依赖于单独的负载均衡设备。客户端通过从注册中心如 Eureka获取服务列表并使用负载均衡算法选择一个服务器来发送请求。这种方式不仅提升了系统的灵活性和可扩展性还通过在客户端实现负载均衡来优化服务请求的分发和性能。 二者区别 位置服务端负载均衡位于服务端而客户端负载均衡位于客户端。作用对象服务端负载均衡处理所有入站请求而客户端负载均衡处理发出的请求。控制粒度服务端负载均衡可以全局控制请求的分发而客户端负载均衡可以基于局部条件和策略做出请求选择。服务端负载均衡是一种较为传统的方法适用于管理入站到一个服务的所有请求特别是在客户端数量众多时。它可以简化客户端逻辑使客户端无需关心后端服务器的复杂性。 客户端负载均衡则允许更灵活的请求处理特别适用于分布式系统架构如微服务架构其中每个服务可能需要根据不同的标准选择不同的后端服务。 Spring Cloud LoadBalancer 从Spring Cloud 2020.0.1版本开始移除了Ribbon组件改为使用Spring Cloud LoadBalancer组件来实现客户端负载均衡。 模拟多服务实例 对于上一篇的订单服务调用商品服务http://t.csdnimg.cn/r3KGs 当时只有一个商品服务。这里模拟多个商品服务让订单服务去调用。 总共启动三个商品服务。 请求多次订单服务。 让订单服务多次调用商品服务观察日志。 每次只用一个实例在工作。 手动负载均衡 //计数器private AtomicInteger count new AtomicInteger(1);private ListServiceInstance instances;PostConstructpublic void init(){//从Eureka中获取服务列表instances discoveryClient.getInstances(product-service);}public OrderInfo selectOrderById(Integer orderId){OrderInfo orderInfo orderMapper.selectOrderById(orderId);//计算轮流的实例idnexint index count.getAndIncrement() % instances.size();//获取实例String uri instances.get(index).getUri().toString();//拼接urlString url uri/product/orderInfo.getProductId();log.info(远程调用url:{}, url);ProductInfo productInfo restTemplate.getForObject(url, ProductInfo.class);orderInfo.setProductInfo(productInfo);return orderInfo;} 使用组件 这里我们使用Spring Cloud LoadBalancer来实现客户端负载均衡。 添加注解 给RestTemplate这个Bean添加LoadBalanced注解 Configuration public class BeanConfig {LoadBalancedBeanpublic RestTemplate restTemplate(){return new RestTemplate();} } 修改IP端口为服务名 public OrderInfo selectOrderById(Integer orderId){OrderInfo orderInfo orderMapper.selectOrderById(orderId);String url http://product-service/product/orderInfo.getProductId();log.info(远程调用url:{}, url);ProductInfo productInfo restTemplate.getForObject(url, ProductInfo.class);orderInfo.setProductInfo(productInfo);return orderInfo;} 观察日志 可以看出成功实现了负载均衡。 自定义负载均衡策略 负载均衡策略一般有轮询随机。Spring Cloud LoadBalancer默认使用的是轮询。接下来将自定义一个随机的算法。 定义随机算法对象 import org.springframework.cloud.client.ServiceInstance; import org.springframework.cloud.loadbalancer.core.RandomLoadBalancer; import org.springframework.cloud.loadbalancer.core.ReactorLoadBalancer; import org.springframework.cloud.loadbalancer.core.ServiceInstanceListSupplier; import org.springframework.cloud.loadbalancer.support.LoadBalancerClientFactory; import org.springframework.context.annotation.Bean; import org.springframework.core.env.Environment;// 不需要Configuration注解只需要在组件扫描范围内即可 public class LoadBalancerConfig { Bean ReactorLoadBalancerServiceInstance randomLoadBalancer(Environment environment,LoadBalancerClientFactory loadBalancerClientFactory) {String name environment.getProperty(LoadBalancerClientFactory.PROPERTY_NAME);System.out.println( name);return new RandomLoadBalancer(loadBalancerClientFactory.getLazyProvider(name,ServiceInstanceListSupplier.class), name);} } 使用注解 使用 LoadBalancerClient 或者 LoadBalancerClients 注解在RestTemplate配置类的上方。 import org.springframework.cloud.client.loadbalancer.LoadBalanced; import org.springframework.cloud.loadbalancer.annotation.LoadBalancerClient; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.client.RestTemplate;// name product-service 表示只对 product-service 使用 LoadBalancerConfig 配置 LoadBalancerClient(name product-service,configuration LoadBalancerConfig.class) Configuration public class BeanConfig {LoadBalancedBeanpublic RestTemplate restTemplate(){return new RestTemplate();} } LoadBalancer原理 LoadBalancer的实现主要依赖于LoadBalancerInterceptor类。该类会拦截RestTemplate的请求然后通过Eureka从服务注册中心根据服务ID获取服务列表。随后利用负载均衡算法选取真实的服务地址信息并替换原始的服务ID。
http://www.w-s-a.com/news/938558/

相关文章:

  • 织梦(dedecms)怎么修改后台网站默认"织梦内容管理系统"标题关键词优化收费标准
  • 网站设计和备案企业官网网站建设免费
  • 公司概况-环保公司网站模板搜索引擎营销的基本流程
  • 门户网站建设经验天津市建设银行租房网站
  • 百度推广 帮做网站吗怎样修改网站的主页内容
  • 网站怎么做dns解析公司官网改版方案
  • 湛江市住房和城乡建设局网站杭州网站公司哪家服务好
  • 设计网站公司湖南岚鸿设计镜像的网站怎么做排名
  • 你注册过哪些网站微信app下载安装官方版2019
  • 杭州滨江的网站建设公司人才招聘网网站策划方案
  • 门户网站是指提供什么的网站网站优化需要工具
  • 和小男生做的网站代理公司注册步骤
  • 天猫网站建设的目标是什么seo有些什么关键词
  • 网站前端建设都需要什么莱芜信息港网页
  • 如何做360网站优化网站建设培训教程新手入门到精通
  • 做网站有的浏览器怎么做网站网站赚钱
  • 织梦 做网站 教程百度登录个人中心官网
  • ftp怎么修改网站wordpress分享积分
  • 营销策划方案的步骤西安关键词优化软件
  • 南宁自己的网站移动互联网技术学什么
  • 2017湖北建设教育协会网站自己接单做网站
  • 定制网站建设制作h5网站要多久
  • 泰安中呼网站建设有限公司 概况个人网站的设计与实现参考文献
  • 圣诞节网站怎么做怎么获取网站的图片
  • 想找个人做网站音乐网站建设教程视频教程
  • 网站收录一键提交阿里巴巴做网站多少钱
  • 怎么做网站投放广告商务网站建设实训报告
  • 服装代销的网站源码国内电子商务网站有哪些
  • qq空间怎么做网站做企业平台的网站有哪些
  • 网站的优缺点wordpress手机适配模板中文