96SEO 2026-02-20 00:03 8
discoveryClient.getInstances(product-service);//服务可能有多个,

思考如果一个服务对应多个实例呢流量是否可以合理的分配到多个实例
com.bite.order.service.OrderService
LUCF:product-service:909011:46:06.43508:00
com.bite.order.service.OrderService
LUCF:product-service:909011:46:07.08108:00
com.bite.order.service.OrderService
观察Eureka可以看到product-service下有三个实例
访问http://127.0.0.1:8080/order/1
com.bite.order.service.OrderService
LUCF:product-service:909011:46:06.43508:00
com.bite.order.service.OrderService
LUCF:product-service:909011:46:07.08108:00
com.bite.order.service.OrderService
这肯定不是我们想要的结果启动多个实例是希望可以分担其他机器的负荷那么如何实现呢?
com.example.orderservice.mapper.OrderMapper;
com.example.orderservice.model.OrderInfo;
com.example.orderservice.model.ProductInfo;
org.springframework.beans.factory.annotation.Autowired;
org.springframework.cloud.client.ServiceInstance;
org.springframework.cloud.client.discovery.DiscoveryClient;
org.springframework.stereotype.Service;
org.springframework.web.client.RestTemplate;import
java.util.concurrent.atomic.AtomicInteger;Slf4j
orderMapper.selectOrderById(orderId);
http://127.0.0.1:9090/product/orderInfo.getProductId();//从Eureka中获取服务列表ListServiceInstance
discoveryClient.getInstances(product-service);String
instances.get(atomicInteger.getAndIncrement()
instances.size()).getUri().toString();String
uri/product/orderInfo.getProductId();log.info(远程调用url:{},
ProductInfo.class);orderInfo.setProductInfo(productInfo);return
com.bite.order.service.OrderService
LUCF:product-service:909112:02:15.72308:00
com.bite.order.service.OrderService
LUCF:product-service:909012:02:16.53408:00
com.bite.order.service.OrderService
LUCF:product-service:909212:02:16.86408:00
com.bite.order.service.OrderService
LUCF:product-service:909112:02:17.07808:00
com.bite.order.service.OrderService
LUCF:product-service:909012:02:17.26008:00
com.bite.order.service.OrderService
LUCF:product-service:909212:02:17.43108:00
com.bite.order.service.OrderService
Balance,简称LB),是高并发高可用系统必不可少的关键组件.
当服务流量增大时通常会采用增加机器的方式进行扩容负载均衡就是用来在多个机器或者其他资源中按照一定的规则合理分配负载.
一个团队最开始只有一个人后来随着工作量的增加公司又招聘了几个人.负载均衡就是如何把工作量均衡的分配到这几个人身上以提高整个团队的效率
上面的例子中我们只是简单的对实例进行了轮询但真实的业务场景会更加复杂.比如根据机器的配置进行负载分配配置高的分配的流量高配置低的分配流量低等.
服务多机部署时开发人员都需要考虑负载均衡的实现所以也出现了一些负载均衡器来帮助我们实现负载均衡.
请求先到达Nginx负载均衡器然后通过负载均衡算法在多个服务器之间选择一个进行访问.
把负载均衡的功能以库的方式集成到客户端而不再是由一台指定的负载均衡设备集中提供.
比如SpringCloud的Ribbon,请求发送到客户端客户端从注册中心(比如Eureka)获取服务列表在发送请求前通过负载均衡算法选择一个服务器然后进行访问.
Ribbon是SpringCloud早期的默认实现由于不维护了所以最新版本的Spring
客户端负载均衡和服务端负载均衡最大的区别在于服务清单所存储的位置
1.给RestTemplate这个Bean添加LoadBalanced注解
orderMapper.selectOrderById(orderId);//String
orderInfo.getProductId();String
http://product-service/product/
orderInfo.getProductId();ProductInfo
ProductInfo.class);orderInfo.setProductInfo(productInfo);return
负载均衡策略是一种思想无论是哪种负载均衡器它们的负载均衡策略都是相似的.
LoadBalancer仅支持两种负载均衡策略轮询策略和随机策略
Robin):轮询策略是指服务器轮流处理用户的请求.这是一种实现最简单也最常用的
策略.生活中也有类似的场景比如学校轮流值日或者轮流打扫卫生.随机选择(Random):随机选择策略是指随机选择一个后端服务器来处理新的请求.
LoadBalancer默认负载均衡策略是轮询策略实现是RoundRobinLoadBalancer,如果服务的消费者如果想采用随机的负载均衡策略也非常简单.
CustomLoadBalancerConfiguration
{BeanReactorLoadBalancerServiceInstance
environment,LoadBalancerClientFactory
environment.getProperty(LoadBalancerClientFactory.PROPERTY_NAME);return
RandomLoadBalancer(loadBalancerClientFactory.getLazyProvider(name,
ServiceInstanceListSupplier.class),name);}}
2.使用LoadBalancerClient或者LoadBalancerClients注解
在RestTemplate配置类上方使用LoadBalancerClient或LoadBalancerClients注解可以对不同的服务提供方配置不同的客户端负载均衡算法策略.
由于咱们项目中只有一个服务提供者所以使用LoadBalancerClient
CustomLoadBalancerConfiguration.class)
name:该负载均衡策略对哪个服务生效(服务提供方)configuration:该负载均衡策略用哪个负载均衡策略实现.
eureka-server,order-service,product-service
1.打包方式和SpringBoot项目一致依次对三个项目打包即可.
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback