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

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

網站開發(fā)一個多少錢bt磁力兔子引擎

網站開發(fā)一個多少錢,bt磁力兔子引擎,河南做網站聯系電話,網站要怎么建立服務調用Ribbon、Fegin Ribbon實現負載均衡的原理 1:LoadBalancerAutoConfiguration這個類,這個類主要做的就是把LoadBalancer攔截器封裝到RestTemplte攔截器集合里面去。 2:然后在代碼里面調用restTemplate.getForObject或者其他方法的時候&…

服務調用Ribbon、Fegin
Ribbon實現負載均衡的原理
1:LoadBalancerAutoConfiguration這個類,這個類主要做的就是把LoadBalancer攔截器封裝到RestTemplte攔截器集合里面去。
2:然后在代碼里面調用restTemplate.getForObject或者其他方法的時候,就會調用到這個攔截器。
3:在LoadBalancer攔截器類中,就會調用intercept方法,這個方法就會通過execute方法獲取負載均衡器以及通過負載均衡算法和得到的servicename去獲取一臺具體的服務。然后通過http調用。
4:而且ribbon會定時的去更新Nocas中的服務注冊中心將其保存在本地,而且在負載均衡真正調用之前的時候也會去更新。
Fegin
1:從@EnableFeginClients注解看,這個注解里面有一個Import注解@Import(FeginClientRegistrat.class);這個類的方法registerFeginClients方法就能掃描主啟動類包同機以及下級包中所有符合@FeginClient的類注入到容器當中。
2:然后loadBalance通過jdk動態(tài)代理最總生成LoadBalanceFeginClient,這個類中的execute方法中最終去調用我們的ribbon實現負載均衡。

@SpringBootApplication
@EnableFeignClients/此注解/
public class  OrderFeignMain80 {public static void main(String[] args) {SpringApplication.run(OrderFeignMain80.class,args);}
}
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//package org.springframework.cloud.openfeign;import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import org.springframework.context.annotation.Import;@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
@Documented
@Import({FeignClientsRegistrar.class})//此注解
public @interface EnableFeignClients {String[] value() default {};String[] basePackages() default {};Class<?>[] basePackageClasses() default {};Class<?>[] defaultConfiguration() default {};Class<?>[] clients() default {};
}

FeignClientsRegistrar類

public void registerFeignClients(AnnotationMetadata metadata, BeanDefinitionRegistry registry) {ClassPathScanningCandidateComponentProvider scanner = this.getScanner();scanner.setResourceLoader(this.resourceLoader);Map<String, Object> attrs = metadata.getAnnotationAttributes(EnableFeignClients.class.getName());AnnotationTypeFilter annotationTypeFilter = new AnnotationTypeFilter(FeignClient.class);//此方法Class<?>[] clients = attrs == null ? null : (Class[])((Class[])attrs.get("clients"));Object basePackages;if (clients != null && clients.length != 0) {final Set<String> clientClasses = new HashSet();basePackages = new HashSet();Class[] var9 = clients;int var10 = clients.length;for(int var11 = 0; var11 < var10; ++var11) {Class<?> clazz = var9[var11];((Set)basePackages).add(ClassUtils.getPackageName(clazz));clientClasses.add(clazz.getCanonicalName());}AbstractClassTestingTypeFilter filter = new AbstractClassTestingTypeFilter() {protected boolean match(ClassMetadata metadata) {String cleaned = metadata.getClassName().replaceAll("\\$", ".");return clientClasses.contains(cleaned);}};scanner.addIncludeFilter(new FeignClientsRegistrar.AllTypeFilter(Arrays.asList(filter, annotationTypeFilter)));} else {scanner.addIncludeFilter(annotationTypeFilter);basePackages = this.getBasePackages(metadata);}Iterator var17 = ((Set)basePackages).iterator();while(var17.hasNext()) {String basePackage = (String)var17.next();Set<BeanDefinition> candidateComponents = scanner.findCandidateComponents(basePackage);Iterator var21 = candidateComponents.iterator();while(var21.hasNext()) {BeanDefinition candidateComponent = (BeanDefinition)var21.next();if (candidateComponent instanceof AnnotatedBeanDefinition) {AnnotatedBeanDefinition beanDefinition = (AnnotatedBeanDefinition)candidateComponent;AnnotationMetadata annotationMetadata = beanDefinition.getMetadata();Assert.isTrue(annotationMetadata.isInterface(), "@FeignClient can only be specified on an interface");Map<String, Object> attributes = annotationMetadata.getAnnotationAttributes(FeignClient.class.getCanonicalName());String name = this.getClientName(attributes);this.registerClientConfiguration(registry, name, attributes.get("configuration"));this.registerFeignClient(registry, annotationMetadata, attributes);}}}}
http://www.risenshineclean.com/news/12033.html

相關文章:

  • 網站有哪些類型和它的成功案例微商怎么找客源人脈
  • 基層建設網站是不是停辦了做一個公司網站大概要多少錢
  • 廣州個人網站備案要多久貼吧推廣400一個月
  • vipkid網站開發(fā)團隊守游網絡推廣平臺登陸
  • 網站有很多304狀態(tài)碼口碑營銷公司
  • 如何做網站賺流量錢市場推廣外包團隊
  • 呼市建設官方網站四川網絡推廣seo
  • 上海地區(qū)網站建設百度指數預測
  • 網頁 代碼怎么做網站廣告推廣
  • 專業(yè)做公墓 陵園的網站網站seo去哪個網站找好
  • 商務網站規(guī)劃與網頁制作微信小程序開發(fā)工具
  • 網站做文獻格式福州百度seo排名
  • 朵朵軟件網站建設個人網站
  • 電子商務網站建設移動電商開發(fā)web網站模板
  • 中國建設銀行網站無法訪問國通快速建站
  • 徐州網站建設魔站設計網站都有哪些
  • 天津微信網站本地推廣最好用的平臺
  • 網站權重能帶來什么作用百度一下瀏覽器
  • 寧夏做網站建設公司最新國際新聞10條
  • 國外好的做電視包裝的網站鏈接轉二維碼
  • 豬八戒網做網站怎么樣今日新聞快報
  • 哪個網站做外貿好互聯網營銷師
  • 長沙自助模板建站百度官方免費下載安裝
  • 交易網站建設電商營銷策劃方案
  • 泉州公司做網站服裝品牌營銷策劃方案
  • 岳陽seo官網廣東百度seo關鍵詞排名
  • 中國建設銀行網站首頁u盾登入百度推廣基木魚
  • 蘇州高端網站設計企業(yè)滕州今日頭條新聞
  • 網站頁面怎么設計寧夏百度推廣代理商
  • 東麗區(qū) 網站建設今日足球賽事數據