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

wordpress软件站永久免费生成app网站

wordpress软件站,永久免费生成app网站,四川学校网站建设,重庆网站推广外包引言 本篇博客简单介绍微服务负载均衡的概念#xff0c;并通过 IDEA 多端口启动应用的方式#xff0c;模拟多个应用实例#xff0c;使用自定义和 Ribbon 两种方式实现基本的负载均衡策略。 微服务代码以《Spring Cloud Alibaba——Nacos实现服务治理》为基础。 一、什么是…引言 本篇博客简单介绍微服务负载均衡的概念并通过 IDEA 多端口启动应用的方式模拟多个应用实例使用自定义和 Ribbon 两种方式实现基本的负载均衡策略。 微服务代码以《Spring Cloud Alibaba——Nacos实现服务治理》为基础。 一、什么是负载均衡 负载指的是系统接收请求的压力通常来讲单体应用如果接收的请求量过多会对应用本身造成一定的并发困扰导致逻辑出错甚至是服务瘫痪。 为了解决单个应用访问量过大的情况人们很自然的想到将一个单体应用克隆多份来分摊请求量均衡负载。 负载均衡就是将负载工作任务、访问量进行分摊到多个操作单元服务器、组件上执行的一套技术。 根据负载均衡发生的位置不同一般分为服务端负载均衡、客户端负载均衡。 1、服务端负载均衡指的是分摊工作发生在服务提供者一方比如常见的 Nginx 。 2、客户端负载均衡则恰好相反它指的是分摊工作发生在服务请求的一方即在发送请求之前就已经选好了由具体的哪一个实例处理请求。如下图所示 一般在微服务中都是使用客户端负载均衡。 二、IDEA 中模拟多个微服务实例 使用 idea 可以轻松的为一个 spring boot 服务创建多个微服务实例。以《Spring Cloud Alibaba——Nacos实现服务治理》的代码用例为例这里简单回顾一下 Demo 用例。 我们创建了一个电商系统有三个微服务shop-user 用户微服务、shop-product 商品微服务、shop-order 订单微服务我们使用 Nacos 实现了服务的注册发现并实现了完整的用户下单——查询商品——返回订单的微服务调用逻辑如下图所示 但上述案例只涉及到了一个订单微服务实例对应另一个商品微服务实例并没有任何负载均衡的效果为了演示负载均衡我们可以通过 idea 将shop-product 微服务启动多个实例。 方法是在启动项中添加多个 配置好第二个商品微服务实例之后我们启动 ProductApplication 和 ProductApplication2可以在 Nacos 中看到注册的商品服务实例有 2 个关于Nacos 的相关知识参考《Spring Cloud Alibaba——Nacos实现服务治理》 三、自定义负载均衡 最简单的负载均衡机制就是通过随机数根据服务提供者商品服务的实例数量来随机生成服务序号从而确定访问的实例。 我们在订单微服务中加入随机数代码 以下是完整代码  Slf4j RestController RequestMapping(/order) public class OrderController {Autowiredprivate RestTemplate restTemplate;Autowiredprivate DiscoveryClient discoveryClient;Autowiredprivate OrderService orderService;/**** 下单* param pid* return*/GetMapping(/prod/{pid})public Order order(PathVariable(pid) Integer pid) {log.info(接收到{}号商品的下单请求准备调用商品微服务, pid);// 获取服务实例列表ListServiceInstance serviceList discoveryClient.getInstances(service-product);// 生成随机下标 0 1int index new Random().nextInt(serviceList.size());// 获取实例对象ServiceInstance productService serviceList.get(index);// 调用商品微服务查询商品信息Product prod restTemplate.getForObject(http:// productService.getHost() : productService.getPort() /product/ pid, Product.class);log.info(查询到{}号商品信息内容是{}, pid, JSON.toJSONString(prod));// 下单即创建订单并保存Order order new Order();order.setUid(1);order.setUsername(测试用户);order.setPid(pid);order.setPname(prod.getPname());order.setPprice(prod.getPprice());order.setNumber(1);// 订单入库orderService.createOrder(order);log.info(创建订单成功订单信息为{}, JSON.toJSONString(order));return order;} } 启动 OrderApplication 并调用下单接口观察每次请求时商品微服务后台日志的打印情况 总共请求了四次商品实例1调用了3次商品实例2调用了1次随机数负载均衡成功。 四、Ribbon 实现负载均衡 Ribbon 是 Spring Cloud 的一个组件它可以让我们使用一个注解就能轻松搞定负载均衡。Ribbon 的默认负载均衡策略是轮询。 整合方法只需两步 1、在 RestTemplate 注入的时候添加 LoadBalanced 注解 Bean LoadBalanced public RestTemplate restTemplate() {return new RestTemplate(); } 2、修改服务调用的方法以服务名称直接代替 ip 和 端口号 GetMapping(/prod/{pid}) public Order order(PathVariable(pid) Integer pid) {log.info(接收到{}号商品的下单请求准备调用商品微服务, pid);// 调用商品微服务查询商品信息Product prod restTemplate.getForObject(http://service-product/product/ pid, Product.class);log.info(查询到{}号商品信息内容是{}, pid, JSON.toJSONString(prod));...return ...; } 演示效果略 Ribbon 的常用负载均衡策略有三个 RoundRobinRule轮询选择 service instance轮询 index选择索引对应的服务实例RandomRule随机选择一个 instance 在 index 上随机选择对应位置的服务实例 BestAvailableRule选择一个最小的并发请求的 instance 考察每个实例如果实例被 tripped 了则忽略。再选择其中 ActiveRequestsCount最小的实例 修改 Ribbon 的负载均衡策略非常简单只需要在配置文件中指定即可 # 调用的服务名称 service-product:ribbon:NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule 演示效果同第三节。 总结 项目的代码以《Spring Cloud Alibaba——Nacos实现服务治理》基础可能缺少一些中间环境建议结合阅读。 负载均衡的作用是分摊流量避免某一个服务因为请求压力而瘫痪。 负载均衡的模式一般有两种客户端负载均衡和服务端负载均衡。一般在微服务调用中都是使用客户端负载均衡。 Ribbon是实现负载均衡的重要组件它的负载均衡策略主要有三个轮询默认、随机、最小并发。
http://www.zqtcl.cn/news/987165/

相关文章:

  • 小程序ui界面设计手机优化大师官网
  • 佳木斯市建设局网站网络游戏名
  • 建筑钢结构网站汉阳网站建设哪家便宜
  • 营销型网站建设评价临湘网站建设
  • 做网站的价格参考巴中建网站的公司
  • 张家口建设网站网络技术工程师
  • 大型网站后台登录地址一般是如何设置的哪里网站用vue.js做的
  • 网页设计规范图标设计百度seo优化多少钱
  • 网站打开速度概念建筑网站知乎
  • 网站的flash怎么做的杭州市城乡建设网官网
  • 宿迁网站建设排名wordpress多站点可视化
  • 苏州好的做网站的公司哪家好前端如何做响应式网站
  • 广州网站建设招标推广方式有哪些渠道
  • 郑州做网站狼牙东莞建设造价信息网站
  • 网站制作代理加盟国内seo服务商
  • 如何在建设银行网站预约纪念币网络销售好不好做
  • 利用淘宝视频服务做视频网站聊城做网站价格
  • 做美容行业的网站哪个好广西互联网企业
  • 做网站平台的营业执照江镇做包子网站
  • 网站建设 摄影服务wordpress破解模板
  • 网站规划中的三种常用类型宁波海曙区建设局网站
  • dede做网站湖北网址大全
  • 如何注册网站的名字html表单制作
  • 中国建设工程协会标准网站什么网站做推广比较好
  • 长沙专业网站建设怎么做关于网站建设的投标书
  • 石家庄公司网站如何制作wordpress 大图 主题
  • 网站建设和管理情况如何传图片做网站
  • 网站建设流量什么意思杭州企业网站设计模板
  • 义乌网站制作是什么交互式网站
  • 淘宝客api调用到网站世界足球排名前100名