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

ons自动切换 #4

Open
cgnq opened this issue Nov 22, 2017 · 7 comments
Open

ons自动切换 #4

cgnq opened this issue Nov 22, 2017 · 7 comments

Comments

@cgnq
Copy link

cgnq commented Nov 22, 2017

阿里是ons,一般线下测完要上ONS,能否把ons集成进来。

@suclogger suclogger added this to the 0.0.6 milestone Nov 23, 2017
@jaychang9
Copy link

@cgnq @suclogger 我们现在准备弃用ons了,还不如直接用rocketmq。我们之前开发,测试环境用的都是ons,开发时候调试确实存在不便,必须要登录到aliyun去查看消息发送,消费状态。ons的api不太一样,我认为还是另起一个项目可能好点吧。

@cgnq
Copy link
Author

cgnq commented Nov 27, 2017

我也很无奈,公司决定用ONS了,这个前提至少目前无法改变,我现在根据环境变量(dev,uat,prd,test等)来启动不同的api,但是也无法兼容所有的,只能用默认的consumer和Producer。另起一个starter就不太透明了。

@suclogger
Copy link
Member

suclogger commented Nov 27, 2017

@cgnq @jaychang9
我们公司半年前就弃用ONS全部切到自建的RocketMQ(Docker环境)了,半年下来运行很稳定没出过问题。
替换掉ONS问题就是:

  1. 没有美观的控制台。我们的方案是自己封装了rocketmq-console模块,做了一些风格的统一。视觉框架
    image

  2. 没了ONS中的查看具体消费者的功能。也在最近的 0.0.5 版本中通过添加ONS提供的jar包的中的相关代码做了类似实现。

所以目前我的立场也是推荐使用自建的RocketMQ,不过支持ONS也不会有很大问题,大家可以帮忙一起提交代码。

@jaychang9
Copy link

jaychang9 commented Dec 4, 2017

@suclogger 今天我在docker环境试了下搭建,namesrv应该没什么问题,但是rmqbroker报了

alpine:/home/docker_build/rocketmq-docker/broker# docker logs rmqbroker
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x000077ff49000000, 8589934592, 0) failed; error='Out of memory' (errno=12)

There is insufficient memory for the Java Runtime Environment to continue.
Native memory allocation (mmap) failed to map 8589934592 bytes for committing reserved memory.
An error report file with more information is saved as:
/opt/rocketmq-4.1.0-incubating/bin/hs_err_pid8.log

一开始以为是jvm堆内存的问题,后来我配置了-Xxmx=512m -Xxms=512m,应该不是这个问题
查看了官方文档,提到了,linux的一个内核参数
`vm.max_map_count, limits the maximum number of memory map areas a process may have. RocketMQ will use mmap to load CommitLog and ConsumeQueue, so set a bigger value for this parameter is recommended.

`

我把docker宿主机的这个参数改了下
sysctl -w vm.max_map_count=262144
重新创建rmqbroker容器,还是不行。

https://bugs.openjdk.java.net/browse/JDK-8187709找到了这个链接,我用的也是openjdk

@jaychang9
Copy link

jaychang9 commented Dec 6, 2017

今天搞了下rocketmq的docker环境,顺便把一些配置弄成一个github项目,方便以后使用,分享下https://github.com/jaychang9/rocketmq-docker broker,namesrv,console都有了,改自官网的external/docker。可支持本地开发机器连broker,将官方的java基镜像那个换成了openjdk-8u111-alpine,体积小一点

@suclogger
Copy link
Member

I'm sorry but this feature won't be added.
But I'd be very happy to see a relate PR.

@randolph555
Copy link

什么时候阿里云的ONS集成进来

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

No branches or pull requests

4 participants