乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      SOFA原理學(xué)習(xí)

       liang1234_ 2019-03-27

             最近在項(xiàng)目開發(fā)中有用到sofa-rpc框架,其是螞蟻金服開源的,簡(jiǎn)單的看了一下源碼其和阿里巴巴另外一個(gè)比較出名的RPC框架Dubbo類似,其實(shí)sofa-rpc提供的dubbo協(xié)議最終就是使用的Dubbo的功能(sofa-rpc直接將dubbo的jar引入),所以如果對(duì)Dubbo有所了解的人我感覺在sofa-rpc學(xué)習(xí)上也是很快的。

      SOFARPC 簡(jiǎn)介

      Build Status Coverage Status License Maven

      SOFARPC 是一個(gè)高可擴(kuò)展性、高性能、生產(chǎn)級(jí)的 Java RPC 框架。在螞蟻金服 SOFARPC 已經(jīng)經(jīng)歷了十多年及五代版本的發(fā)展。SOFARPC 致力于簡(jiǎn)化應(yīng)用之間的 RPC 調(diào)用,為應(yīng)用提供方便透明、穩(wěn)定高效的點(diǎn)對(duì)點(diǎn)遠(yuǎn)程服務(wù)調(diào)用方案。為了用戶和開發(fā)者方便的進(jìn)行功能擴(kuò)展,SOFARPC 提供了豐富的模型抽象和可擴(kuò)展接口,包括過濾器、路由、負(fù)載均衡等等。同時(shí)圍繞 SOFARPC 框架及其周邊組件提供豐富的微服務(wù)治理方案。

      功能特性

      • 透明化、高性能的遠(yuǎn)程服務(wù)調(diào)用
      • 支持多種服務(wù)路由及負(fù)載均衡策略
      • 支持多種注冊(cè)中心的集成
      • 支持多種協(xié)議,包括 Bolt、Rest、Dubbo 等
      • 支持同步、單向、回調(diào)、泛化等多種調(diào)用方式
      • 支持集群容錯(cuò)、服務(wù)預(yù)熱、自動(dòng)故障隔離
      • 強(qiáng)大的擴(kuò)展功能,可以按需擴(kuò)展各個(gè)功能組件

      關(guān)聯(lián)項(xiàng)目

      • sofa-rpc-boot-project SOFABoot 擴(kuò)展項(xiàng)目,包括 starter 工程及使用示例。

      需要

      編譯需要 JDK 7 及以上、Maven 3.2.5 及以上。

      運(yùn)行需求 JDK 6 及以上。

      文檔

      示例:

      1、引入sofa-rpc相關(guān)的jar

      1. <dependency>
      2. <groupId>com.alipay.sofa</groupId>
      3. <artifactId>sofa-rpc-all</artifactId>
      4. <version>5.3.1</version>
      5. </dependency>

      2、服務(wù)端發(fā)布服務(wù),sofa-rpc支持zookeeper作為注冊(cè)中心

      1. public class ServerMain {
      2. public static void main(String[] args) {
      3. // 指定注冊(cè)中心
      4. RegistryConfig registryConfig = new RegistryConfig()
      5. .setProtocol('zookeeper')
      6. .setAddress('127.0.0.1:2181');
      7. // 指定服務(wù)端協(xié)議和地址
      8. ServerConfig serverConfig = new ServerConfig()
      9. .setProtocol('bolt')
      10. .setPort(12345)
      11. .setDaemon(false);
      12. // 發(fā)布一個(gè)服務(wù)
      13. ProviderConfig<HelloService> providerConfig = new ProviderConfig<HelloService>()
      14. .setInterfaceId(HelloService.class.getName())
      15. .setRef(new HelloServiceImpl())
      16. .setRegistry(registryConfig)
      17. .setServer(serverConfig);
      18. providerConfig.export();
      19. }
      20. }

      3、客戶端引用服務(wù)

      1. public class ClientMain {
      2. public static void main(String[] args) {
      3. // 指定注冊(cè)中心
      4. RegistryConfig registryConfig = new RegistryConfig()
      5. .setProtocol('zookeeper')
      6. .setAddress('127.0.0.1:2181');
      7. // 引用一個(gè)服務(wù)
      8. ConsumerConfig<HelloService> consumerConfig = new ConsumerConfig<HelloService>()
      9. .setInterfaceId(HelloService.class.getName())
      10. .setProtocol('bolt')
      11. .setRegistry(registryConfig);
      12. // 拿到代理類
      13. HelloService service = consumerConfig.refer();
      14. // 發(fā)起調(diào)用
      15. while (true) {
      16. System.out.println(service.sayHello('world'));
      17. try {
      18. Thread.sleep(1000);
      19. } catch (InterruptedException e) {
      20. }
      21. }
      22. }
      23. }

      4、服務(wù)接口及實(shí)現(xiàn)類

      (1)接口

      1. public interface HelloService {
      2. public String sayHello(String name);
      3. }

      (2)實(shí)現(xiàn)類

      1. public class HelloServiceImpl implements HelloService {
      2. public String sayHello(String name) {
      3. return 'hello ' name;
      4. }
      5. }

      5、運(yùn)行結(jié)果

      (1)zookeeper中生產(chǎn)者和消費(fèi)者節(jié)點(diǎn)

      (2)運(yùn)行結(jié)果數(shù)據(jù)

      6、sofa-rpc調(diào)用流程

      客戶端模塊是一個(gè)較復(fù)雜的模塊,這里包含了集群管理、路由、地址管理器、連接管理器、負(fù)載均衡器,還與代理、注冊(cè)中心等模塊交互。

      參見:

      client組件

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多