• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
江徽1993
烟花散尽,不问繁华
博客园    首页    新随笔    联系   管理    订阅  订阅

Dubbo

1,Dubbo是什么?

Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC 分布式服务框架;

RPC:Remote Procedure Call 远程过程调用;

  • 服务提供者Provider启动时会向注册中心把自己的元数据注册上去(比如服务IP、端口及需要注册的接口定义等信息);
  • 服务消费方Consumer在启动时会从注册中心订阅(第一次订阅会拉取全量数据)服务提供方的元数据;
  • 而当注册中心数据发生变更时会推送给订阅的Consumer(比如Provider某个节点Down掉了,又或者服务提供方进行了扩容,增加了节点。);
  • 在Consumer获取到元数据后,Consumer可以发起RPC调用(本质其实是Socket通信+动态代理这样的一个实现机制);
  • RPC调用前后会向监控中心上报统计信息(比如并发数和调用接口);

2,多个环境共用一套ZK,怎么保证消费不冲突?

服务发布的group设置不同即可,如:

<dubbo:reference id="comm1" timeout="100000" interface="com.acq.facade.CommService" group="comm102" version="1.0.0" retries="0" check="false">
</dubbo:reference>
<dubbo:reference id="comm2" timeout="100000" interface="com.acq.facade.CommService" group="comm103" version="1.0.0" retries="0" check="false">
</dubbo:reference>

3,dubbo telnet命令包含哪些?

telnet 192.201.102.71 8000 进入该服务;

ls :查看该地址和端口下所暴露的服务列表;

ls -l :显示服务详细信息列表;

ls XxxService :显示服务的方法列表;

ls -l XxxService :显示服务的方法详细信息列表;

invoke :invoke XxxService.xxxMethod({"prop": "value"}) 调用服务的方法;

count  com.test.DemoService :统计1次服务任意方法的调用情况;

status -l :显示状态列表;

4,Dubbo 可以对结果进行缓存吗?

为了提高数据访问的速度。Dubbo提供了声明式缓存,以减少用户加缓存的工作量

<dubbo:reference cache=“true” />;

缓存算法主要有LRU,ThreadLocal,JCache:

LRU:基于最近最少使用原则删除多余缓存,保持最热的数据被缓存;

ThreadLocal:当前线程缓存;

JCache:可以桥接各种缓存实现;

5,zk集群为何选择奇数台机器?

zookeeper集群一大特性是只要集群中半数以上的节点存活,集群就可以正常提供服务,

2台服务器,至少2台正常运行才行(2的半数为1,半数以上最少为2),正常运行1台服务器都不允许挂掉

3台服务器,至少2台正常运行才行(3的半数为1.5,半数以上最少为2),正常运行可以允许1台服务器挂掉

4台服务器,至少3台正常运行才行(4的半数为2,半数以上最少为3),正常运行可以允许1台服务器挂掉

5台服务器,至少3台正常运行才行(5的半数为2.5,半数以上最少为3),正常运行可以允许2台服务器挂掉

6台服务器,至少3台正常运行才行(6的半数为3,半数以上最少为4),正常运行可以允许2台服务器挂掉

通过以上可以发现,3台服务器和4台服务器都最多允许1台服务器挂掉,5台服务器和6台服务器都最多允许2台服务器挂掉

但是明显4台服务器成本高于3台服务器成本,6台服务器成本高于5服务器成本。这是由于半数以上投票通过决定的。

而2n+1台和2n+2台机器的容灾能力相同,都是允许n台机器宕机。本着节约的宗旨,一般选择部署2n+1台机器,可以解决容错问题;

 

posted @ 2020-07-23 09:17  江徽1993  阅读(168)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3