Sitelet https://web.archive.org/web/20200927040852/https://github.com/hhyo/Archery/issues/665
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ 功能建议 ]大数据集群的接入和功能完善 #665

Open
Liuzhj opened this issue Mar 14, 2020 · 7 comments
Open

[ 功能建议 ]大数据集群的接入和功能完善 #665

Liuzhj opened this issue Mar 14, 2020 · 7 comments

Comments

@Liuzhj
Copy link

@Liuzhj Liuzhj commented Mar 14, 2020

目前遇到的问题/使用障碍

  • 目前已经支持了6种数据库,是否会支持impala? 或者hive等其他。感觉实现方式上不是很困难。建议考虑。
  • 对于数据库的备份,还原等,有一个开源项目用起来还可以,支持多种数据库的备份还原,建议考虑。phpbu
  • 对于mysql或者pg数据库集群的使用,在添加实例的时候需要指定实例的状态是master 还是slave,在实际工作中,主从节点的角色是变化的,人为切换或者故障切换,此时实例的状态就和管理平台上的状态不对应,会造成疑问。想知道此问题有没有进一步的方案或计划?
  • 有没有一种办法,能以网状图或者其他图表的形式,把一个集群内的所有节点关联起来,这样对于集群管理来说,应该是非常好的使用体验。
  • 有没有考虑支持集群节点自发现? 比如手动添加一个集群里的一个实例,可以自动把集群中所有的实例都管理起来。我目前知道的一个方案是,集群的信息存储在ETCD中,在添加实例的时候,从ETCD里获取到集群中所有实例的信息,进而监控起来。

希望如何解决/实现它

  • 建议添加集群实例状态的同步,如切找主备后。
  • 建议对集群进行图形化的展示,比如一主三备等,出来一个关联网状图。
  • 建议引入 phpbu,完善数据库备份还原。
  • 建议加入集群实例自发现。

其他信息

如果有其他类似的产品功能或者图片信息,可在此提交
暂无。

@LeoQuote
Copy link
Collaborator

@LeoQuote LeoQuote commented Mar 14, 2020

非常感谢,欢迎你的贡献。

对于多个数据库支持的问题,目前接入确实不难,但是问题在于没有动力,也没有测试环境去做,如果你有兴趣有环境可以参照接入一下,欢迎贡献。

对于phpbu的这个我之前没接触过,刚刚看了下是做归档备份的,备份是用mysqldump dump 整个database,主要目的应该是防灾,和我们平台备份的目的不太相同, 备份是一直想要完善的,但这个等级的备份还是太粗放了点,也不能用于快速回滚。当然这个确实是一个启发,比如每次操作都发一个信号,这样可能扩展起来会更方便。

对于其他的事项,由于我也不是专业DBA,接触不多,不做评价。

@Liuzhj
Copy link
Author

@Liuzhj Liuzhj commented Mar 15, 2020

应该的,我是软件的重度依赖者,在公司环境准备接入ldap用起来。

我倒是有环境,但开发能力还有待提升,不过我会认真看看代码其他数据库的实现逻辑。

phpbu在我看来与archery更相关的是支持多个数据库的备份,但确实粒度粗放些。

其他的需求,在我看来还是挺重要的,比如实例在切换后的状态同步,集群节点自发现,还有集群节点拓扑图等。当然,我在数据库管理维护上有很多的需求,希望可以共同讨论下。

btw,我擅长的还有部署自动化,对于环境部署可不在话下,如果有什么需要我可以协助。

@Liuzhj
Copy link
Author

@Liuzhj Liuzhj commented Mar 15, 2020

找到一个mysql集群拓扑的项目

@LeoQuote
Copy link
Collaborator

@LeoQuote LeoQuote commented Mar 15, 2020

我们engine开发起来还是比较简单的, 继承一下实现几个方法就行,参考 开发指南: https://github.com/hhyo/Archery/wiki/development

@hhyo
Copy link
Owner

@hhyo hhyo commented Mar 15, 2020

集群拓扑展示和节点自动发现都可以通过orch来完成,提交审核时主库的确定也可以通过orch的api来获取,这可以作为一个长期的计划列入进来

@gaotuan
Copy link

@gaotuan gaotuan commented Mar 24, 2020

对于第三点其实是没有必要的,在配置数据库时填写 vip或者域名地址,数据库故障切换对应用来说应该是透明的

@Liuzhj
Copy link
Author

@Liuzhj Liuzhj commented Mar 24, 2020

@gaotuan 你也提到了,“对应用来说应该是透明的” ,在一定场景下,你说的没错,应用只需要知道vip或者域名即可。

那在实例管理的角度来看,是不是要把所有的实例都登记呢?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
4 participants
You can’t perform that action at this time.