栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

2022/1/16 北京 dubbo-----注册服务、消费服务

2022/1/16 北京 dubbo-----注册服务、消费服务

单体架构的优点:部署成本低

负载均衡:让每一个服务器都有很均衡的负载量


rpc(远程过程调用)  

rpc工作原理:socket套接字(ip+端口)

为什么用这个?因为随着用户量和海量的请求,后端基本都是规模庞大的分布式集群,而rpc就是其中核心技术。

rpc好处是什么呢?好到这个地步:调用服务的时候就如同调用本地服务一样,不必关心网络通信细节。


Dubbo架构: 是高性能的java rpc框架

dubbo是阿里巴巴2011年开源的分布式服务框架,主要提供三个功能

远程接口调用,负载均衡和容错,服务注册和服务发现。


dubbo运行流程的是这样的:


注册中心:订单业务想做支付业务,怎么知道支付业务在哪个模块上呢

dubbo支持四种注册中心:

multicast注册中心,Zookeeper注册中心,redis注册中心,simple注册中心


1.将服务提供者注册到注册中心(暴露服务)

      (1)导入dubbo依赖和操作Zookeeper的客户端(curator)依赖

      dubbo2.6之前引入zkclient操作zookeeper

      dubbo2.6及之后引入curator操作zookeeper


    org.apache.dubbo
    dubbo
    2.7.10





    org.apache.curator
    curator-framework
    4.3.0.7.2.10.0-148

 (2)配置服务提供者   provider.xml

    
    

    
    

    
    

    
    
   
    
    

2.让服务消费者去注册中心订阅服务提供者的服务地址

(3)配置消费者 consumer.xml

dubbo-monitor:用来统计服务的调⽤次数和调⽤时间的监控中⼼。

    
    

    
    
    

    
    

    
    
    

    
    

服务提供者的真正实现类:

public class UserServiceImpl implements UserService{
//按照用户id返回他所有的收货地址
    public List getUserAddressList(String userId){
        UserAddress address1=new UserAddress(1,"北京市昌平区","1");
        UserAddress address1=new UserAddress(2,"深圳市宝安区","1");
        return Arrays.asList(address1,address2);
  }
}

服务消费者:

public class MainApplication{

    public static void main(){
       ClassPathXmlApplicationContext applicationContext=new 
       ClassPathXmlApplicationContext("consumer.xml");
       OrderService orderService=applicationContext.getBean(OrderService.class);
       //查询用户的地址   
      List addressList=orderService.initOrder("1");
      }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/706311.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号