中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

網(wǎng)絡推廣銷售怎么做seo文章生成器

網(wǎng)絡推廣銷售怎么做,seo文章生成器,泉州地區(qū)網(wǎng)站建設公司,wordpress長微博工具LoadBalancer 概念常見的負載均衡策略使用隨機選擇的負載均衡策略創(chuàng)建隨機選擇負載均衡器配置 Nacos 權重負載均衡器創(chuàng)建 Nacos 負載均衡器配置 自定義負載均衡器(根據(jù)IP哈希策略選擇)創(chuàng)建自定義負載均衡器封裝自定義負載均衡器配置 緩存 概念 LoadBalancer(負載均衡器)是一種…

LoadBalancer

  • 概念
  • 常見的負載均衡策略
  • 使用隨機選擇的負載均衡策略
    • 創(chuàng)建隨機選擇負載均衡器
    • 配置
  • Nacos 權重負載均衡器
    • 創(chuàng)建 Nacos 負載均衡器
    • 配置
  • 自定義負載均衡器(根據(jù)IP哈希策略選擇)
    • 創(chuàng)建自定義負載均衡器
    • 封裝自定義負載均衡器
    • 配置
  • 緩存

概念

LoadBalancer(負載均衡器)是一種網(wǎng)絡設備或軟件機制, 用于分發(fā)傳入的網(wǎng)絡流量負載(請求)到多個后端目標服務器上, 從而實現(xiàn)系統(tǒng)資源的均衡利用和提高系統(tǒng)的可用性和性能
負載均衡分為服務器端負載均衡和客戶端負載均衡

  1. 服務器端負載均衡是指放在服務器端的負載均衡器(反向代理), 如: Nginx, HAProxy, F5等
  2. 客戶端負載均衡器是指嵌套在客戶端的負載均衡器(正向代理), 如: Ribbon, Spring Cloud LoadBalancer等

服務器端負載均衡器所有請求都會發(fā)送到服務器端, 就會造成服務器端壓力大的情況

常見的負載均衡策略

  1. 輪詢(默認): 按照順序將請求發(fā)送到服務器
  2. 隨機選擇: 隨機選擇一個服務器處理請求
  3. 最少連接: 選擇連接數(shù)最少的一個服務器
  4. IP 哈希: 使用客戶端IP地址計算哈希值然后發(fā)送到與之對應的服務器
  5. 加權輪詢: 按照權重值的比例發(fā)送請求
  6. 加權隨機選擇: 按照權重值隨機選擇后端服務器
  7. 最短響應時間: 將請求發(fā)送到響應時間最短的服務器

Spring Cloud LoadBalancer 默認只支持輪詢和隨機選擇, 但是可以自定義負載均衡策略

使用隨機選擇的負載均衡策略

創(chuàng)建隨機選擇負載均衡器

public class MyRandomLoadBalancer {@Beanpublic ReactorLoadBalancer<ServiceInstance> randomLoadBalancer(Environment environment,LoadBalancerClientFactory loadBalancerClientFactory) {String name = environment.getProperty(LoadBalancerClientFactory.PROPERTY_NAME);return new RandomLoadBalancer(loadBalancerClientFactory.getLazyProvider(name, ServiceInstanceListSupplier.class), name);}
}

配置

image.png
注意: 配置局部負載均衡器有可能不起作用, 可以配置全局負載均衡器
image.png

Nacos 權重負載均衡器

Nacos 中支持兩種負載均衡器, 一種是權重負載均衡器, 另一種是第三方的CMDB(地域就近訪問)標簽負載均衡器, 我們可以將Spring Cloud LoadBalancer 直接配置為 Nacos 的負載均衡器

創(chuàng)建 Nacos 負載均衡器

@LoadBalancerClients(defaultConfiguration = MyNacosLoadBalancer.class)
public class MyNacosLoadBalancer {@Resourceprivate NacosDiscoveryProperties nacosDiscoveryProperties;@Beanpublic ReactorLoadBalancer<ServiceInstance> nacosLoadBalancer(Environment environment,LoadBalancerClientFactory loadBalancerClientFactory) {String name = environment.getProperty(LoadBalancerClientFactory.PROPERTY_NAME);return new NacosLoadBalancer(loadBalancerClientFactory.getLazyProvider(name, ServiceInstanceListSupplier.class),name, nacosDiscoveryProperties);}
}

配置

image.png

自定義負載均衡器(根據(jù)IP哈希策略選擇)

創(chuàng)建自定義負載均衡器

public class CustomLoadBalancer implements ReactorServiceInstanceLoadBalancer {private static final Log log = LogFactory.getLog(RandomLoadBalancer.class);private final String serviceId;private ObjectProvider<ServiceInstanceListSupplier> serviceInstanceListSupplierProvider;public CustomLoadBalancer(ObjectProvider<ServiceInstanceListSupplier> serviceInstanceListSupplierProvider, String serviceId) {this.serviceId = serviceId;this.serviceInstanceListSupplierProvider = serviceInstanceListSupplierProvider;}public Mono<Response<ServiceInstance>> choose(Request request) {ServiceInstanceListSupplier supplier = (ServiceInstanceListSupplier)this.serviceInstanceListSupplierProvider.getIfAvailable(NoopServiceInstanceListSupplier::new);return supplier.get(request).next().map((serviceInstances) -> {return this.processInstanceResponse(supplier, serviceInstances);});}private Response<ServiceInstance> processInstanceResponse(ServiceInstanceListSupplier supplier, List<ServiceInstance> serviceInstances) {Response<ServiceInstance> serviceInstanceResponse = this.getInstanceResponse(serviceInstances);if (supplier instanceof SelectedInstanceCallback && serviceInstanceResponse.hasServer()) {((SelectedInstanceCallback)supplier).selectedServiceInstance((ServiceInstance)serviceInstanceResponse.getServer());}return serviceInstanceResponse;}private Response<ServiceInstance> getInstanceResponse(List<ServiceInstance> instances) {if (instances.isEmpty()) {if (log.isWarnEnabled()) {log.warn("No servers available for service: " + this.serviceId);}return new EmptyResponse();} else {ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();HttpServletRequest request = attributes.getRequest();String ipAddress = request.getRemoteAddr();System.out.println("ip地址:" + ipAddress);int hash = instances.hashCode();int index = hash % instances.size();ServiceInstance instance = (ServiceInstance) instances.get(index);return new DefaultResponse(instance);}}
}

由于自定義負載均衡器和內置的負載均衡器只是在服務器選擇的時候有所不同, 所以我們可以直接復制 RandomLoadBalancer 然后 在 getInstanceResponse()方法中進行改動即可

封裝自定義負載均衡器

image.png

配置

image.png

緩存

Spring Cloud LoadBalancer 在獲取實例時有兩種選擇:

  1. 及時獲取: 每次都從注冊中心獲取到最新的實例, 效果好但是開銷大
  2. 緩存服務列表: 每次得到服務列表后, 緩存一段時間,

spring Cloud LoadBalancer 默認緩存過期時間為 35s, 保存?zhèn)€數(shù)為 256個
我們也可以通過配置來改變這兩個值

spring:cloud:loadbalancer:cache:ttl: 10capacity: 1000
#       enabled: false 關閉緩存

生產(chǎn)環(huán)境下不要關閉緩存否則會降低性能

http://www.risenshineclean.com/news/33759.html

相關文章:

  • 茂名優(yōu)化網(wǎng)站建設優(yōu)化seo廠家
  • 網(wǎng)站建設應當注意韓國今日特大新聞
  • 網(wǎng)站建設 化工網(wǎng)絡推廣的話術怎么說
  • 網(wǎng)站分站的實現(xiàn)方法微博推廣方式
  • 上海網(wǎng)站建設聚眾網(wǎng)絡杭州seo網(wǎng)站排名
  • 把網(wǎng)站傳到服務器上怎么做友情鏈接怎么交換
  • 有哪些網(wǎng)站可以做視頻百度一下免費下載安裝
  • 類似百科式的網(wǎng)站建設app推廣平臺
  • asp網(wǎng)站助手北京網(wǎng)站優(yōu)化步
  • 免費制圖網(wǎng)站關鍵詞seo公司推薦
  • 中國做的電腦系統(tǒng)下載網(wǎng)站免費大數(shù)據(jù)網(wǎng)站
  • wordpress怎么修改文字白楊seo教程
  • 甘肅省城鄉(xiāng)與住房建設廳網(wǎng)站怎么網(wǎng)站推廣
  • 徐州網(wǎng)站建設方案推廣網(wǎng)址查詢注冊信息查詢
  • 用新域名做網(wǎng)站排名快嗎上海外貿seo
  • 怎么模仿別人做網(wǎng)站臺州專業(yè)關鍵詞優(yōu)化
  • 公司官網(wǎng)網(wǎng)站如何建立朋友圈的廣告推廣怎么弄
  • 做網(wǎng)站用js的好處seo的中文含義是
  • 丹陽網(wǎng)站建設服務網(wǎng)絡銷售是什么
  • 網(wǎng)站的做網(wǎng)站公司哪家好鄭州百度推廣代運營
  • 星空影視文化傳媒制作公司網(wǎng)站seo綜合診斷
  • 日本男女做受網(wǎng)站公司專業(yè)網(wǎng)站建設
  • 上海網(wǎng)頁設計班咸寧網(wǎng)站seo
  • 廣州網(wǎng)站建設怎么做福清市百度seo
  • 網(wǎng)站備案阿里云流程seo網(wǎng)站推廣杭州
  • 做曖暖的免費網(wǎng)站windows優(yōu)化軟件排行
  • 免費最好網(wǎng)站建設百度明星搜索量排行榜
  • 網(wǎng)絡技術網(wǎng)站seo在線培訓課程
  • 營銷型網(wǎng)站的推廣社區(qū)推廣
  • 做柜子網(wǎng)站營銷型企業(yè)網(wǎng)站推廣的方法有哪些