使用 oceanbase做为xxljob 以及nacos 的mysql存储

如果我们的xxljob 以及nacos 集群比较多,同时需要提供ha 以及灵活的mysql 管理能力,基于tidb 以及oceanbase 是一个不错的选择
oceanbase 多租户能力上是比较方便的,可以更好的提供服务能力,以下是一个简单的示例,实际使用我们李勇多租户能力进行扩展下
同时提供好ha 就可以了

参考环境

  • docker-compose
 
version: "3"
services:
  nacos:
    image: nacos/nacos-server:v2.1.2
    environment:
      - MODE=standalone
    volumes:
     - ./applicationnacos.properties:/home/nacos/conf/application.properties
    ports:
      - "8848:8848"
      - "9848:9848"
      - "9555:9555"
  job:
    image: xuxueli/xxl-job-admin:2.3.0
    ports:
      - "8080:8080"
    volumes:
      - "./tmp:/data/applogs"
      - "./applicationxxljob.properties:/application.properties"
  ob:
    image: oceanbase/oceanbase-ce:3.1.4
    ports:
      - "2881:2881"
    environment:
      - MINI_MODE=true
      - OB_ROOT_PASSWORD=dalongdemo
      - OB_CLUSTER_NAME=demoobcluster
      - OB_TENANT_NAME=dalongdemo
  • 配置
    配置部署参考xxljob 以及nacos 就行了,我简单提供了一个,具体可以参考github,注意我为了简化,直接使用了root 账户
  • 说明&问题
    因为nacos 以及xxljob 都是需要自己执行sql 初始化的,但是因为ob 的engine 是OceanBase 是有问题的,xxljob 以及nacos 官方提供的sql 运行是有问题的
    解决方法很简单就是去掉ENGINE=InnoDB

运行效果

  • xxljob

初始化完sql 之后直接运行比较顺利,兼容很不错,木有任何异常

  • nacos

同时运行也比较顺利,初始化完sql 之后直接运行比较顺利,兼容很不错,暂时木有发现任何异常

 

 

说明

以上是一个简单的运行说明,通过测试说明了oceanbase 与xxljob 以及nacos 兼容是很不错的,集成也很好,如果我们利用ob 的多租户能力部署灵活的xxljob 任务调度以及nacos 注册中心能力,实现多租户的管理能力,参考玩法


基于ob 提供的daas 可以更好的提供xxljob 以及nacos 这类依赖mysql 的服务,简化我们数据库的管理

参考资料

https://github.com/rongfengliang/oceanbase-xxljob-nacos
https://nacos.io/zh-cn/docs/deployment.html
https://www.xuxueli.com/xxl-job/
https://www.oceanbase.com/docs/community-observer-cn-10000000000449173

posted on 2022-10-25 23:26  荣锋亮  阅读(618)  评论(0编辑  收藏  举报

导航