首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  Java

XXL-REGISTRY v1.0.0 发布,分布式服务注册中心

  •  
  •   xuxueli · 140 天前 · 856 次点击
    这是一个创建于 140 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Release Notes

    • 1、轻量级:基于 DB 与磁盘文件,只需要提供一个 DB 实例即可,无第三方依赖;
    • 2、实时性:借助内部广播机制,新服务上线、下线,可以在 1s 内推送给客户端;
    • 3、数据同步:注册中心内部 10s 会全量同步一次磁盘数据,清理无效服务,确保服务数据实时可用;
    • 4、性能:服务发现时仅读磁盘文件,性能非常高;服务注册、摘除时通过磁盘文件校验,防止重复注册操作;
    • 5、扩展性:可方便、快速的横向扩展,只需保证服务注册中心配置一致即可,可借助负载均衡组件如 Nginx 快速集群部署;
    • 6、多状态:服务内置三种状态:
      • 正常状态=支持动态注册、发现,服务注册信息实时更新;
      • 锁定状态=人工维护注册信息,服务注册信息固定不变;
      • 禁用状态=禁止使用,服务注册信息固定为空;
    • 7、跨语言:注册中心提供 HTTP 接口( RESTFUL 格式)供客户端实用,语言无关,通用性更强;
    • 8、兼容性:项目立项之初是为 XXL-RPC 量身设计,但是不限于 XXL-RPC 使用。兼容支持任何服务框架服务注册实用,如 dubbo、springboot 等;
    • 9、跨机房:得益于服务注册中心集群关系对等特性,集群各节点提供幂等的配置服务;因此,异地跨机房部署时,只需要请求本机房服务注册中心即可,实现异地多活;
    • 10、容器化:提供官方 docker 镜像,并实时更新推送 dockerhub,进一步实现 "服务注册中心" 产品开箱即用;
    • 11、long polling 超时时间优化;服务端默认 30s 超时限制;客户端默认 60s 阻塞登台;二者以较小者为准,建议客户端大于服务端。

    简介

    XXL-REGISTRY 是一个轻量级分布式服务注册中心,拥有"轻量级、秒级注册上线、多环境、跨语言、跨机房"等特性。现已开放源代码,开箱即用。

    输入图片说明

    特性

    • 1、轻量级:基于 DB 与磁盘文件,只需要提供一个 DB 实例即可,无第三方依赖;
    • 2、实时性:借助内部广播机制,新服务上线、下线,可以在 1s 内推送给客户端;
    • 3、数据同步:注册中心内部 10s 会全量同步一次磁盘数据,清理无效服务,确保服务数据实时可用;
    • 4、性能:服务发现时仅读磁盘文件,性能非常高;服务注册、摘除时通过磁盘文件校验,防止重复注册操作;
    • 5、扩展性:可方便、快速的横向扩展,只需保证服务注册中心配置一致即可,可借助负载均衡组件如 Nginx 快速集群部署;
    • 6、多状态:服务内置三种状态:
      • 正常状态=支持动态注册、发现,服务注册信息实时更新;
      • 锁定状态=人工维护注册信息,服务注册信息固定不变;
      • 禁用状态=禁止使用,服务注册信息固定为空;
    • 7、跨语言:注册中心提供 HTTP 接口( RESTFUL 格式)供客户端实用,语言无关,通用性更强;
    • 8、兼容性:项目立项之初是为 XXL-RPC 量身设计,但是不限于 XXL-RPC 使用。兼容支持任何服务框架服务注册实用,如 dubbo、springboot 等;
    • 9、跨机房:得益于服务注册中心集群关系对等特性,集群各节点提供幂等的配置服务;因此,异地跨机房部署时,只需要请求本机房服务注册中心即可,实现异地多活;
    • 10、容器化:提供官方 docker 镜像,并实时更新推送 dockerhub,进一步实现 "服务注册中心" 产品开箱即用;

    文档地址

    技术交流

    9 回复  |  直到 2018-12-03 13:36:18 +08:00
        1
    notreami   140 天前
    改用 go 来设计吧。近几年 go 写中间件,貌似很流行
        2
    qping   140 天前
    XXL-job 是楼主开发的吗。。。
        3
    xuxueli   140 天前
    @notreami 可以考虑,不过技术栈非 go,换起来时间成本比较大啊。
    @qping 是的
        4
    janxin   140 天前
    LZ 做了好多基础组件啊,辛苦辛苦
        5
    liuxey   140 天前
    一直有关注 XXL 系列,佩服 XXL 的毅力,不过 Java 的市场基本已被大厂垄断,小东西做起来费力推广又难,和成熟产品比毫无竞争力,不如另辟蹊径,Go 和 Rust 搞起? beego 的成功就是其作者在完美的时间点和方向切入。
        6
    xuxueli   140 天前
    @janxin 多谢支持!

    @liuxey 多谢关注,思路很不错!

    现在大厂开源确实越来越多了,不过他强由他强、他弱由他弱,和 XXL 社区关系不大。

    我们只是踏踏实实做我们的开源,服务好社区用户,迭代好每个产品,维护好几十个用户交流群。

    XXL 系列项目都是社区推进迭代的,每个产品都在解决一个痛点,比如:

    - XXL-JOB: http://www.xuxueli.com/xxl-job
    - XXL-SSO: http://www.xuxueli.com/xxl-sso
    - XXL-RPC: http://www.xuxueli.com/xxl-rpc
    - XXL-MQ: http://www.xuxueli.com/xxl-mq
    ……

    更多可前往: http://www.xuxueli.com/page/projects.html
        7
    notreami   140 天前
    @xuxueli 再学一门技术栈吧,我最近也是这个打算。

    近几年,开源的中间件项目,技术栈明显有偏向 js、rust、go 等语言的趋势。
    而且 java 的微服务有 spring cloud,其他系列很难有出路。
    最让人头疼是 server mesh 等技术架构的出现,再结合 docker、k8s,很难说以后中间件会被 go 垄断额。
        8
    mortonnex   140 天前 via iPhone
    @notreami 广不如深
        9
    xuxueli   140 天前 via Android
    @notreami
    @mortonnex
    是的。
    springboot 涉猎范围广,但是具体到每个点都不是很精深。现在这么流行,感觉很大程度上就是太简单,方便入门,产品质量怎么样还是其次。

    小企业小团队初期,非常适合。但是到后面肯定都会结合业务,走上自研的路。

    各大厂基础组件就看得出来了,基本上是自研然后适配 sc 方便使用,真正全部用 sc 的很罕见。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1685 人在线   最高记录 5043   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 16ms · UTC 17:02 · PVG 01:02 · LAX 10:02 · JFK 13:02
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1