Skip to content

Instantly share code, notes, and snippets.

@ndzj081221130
Created April 2, 2014 02:45
Show Gist options
  • Save ndzj081221130/9927143 to your computer and use it in GitHub Desktop.
Save ndzj081221130/9927143 to your computer and use it in GitHub Desktop.
2014_3_20扩展DEA
首先在DEA上启动一个collect_server,用户获取应用的状态。
collect server启动在collect_port端口上。并且将该端口,作为环境变量,写到warden容器的logs/env.log中。如果应用需要向端口发消息的话,就向该端口发送。
用java写了一个简单的通信模块,可以向collect server发送消息。
先阶段就是发送字符串,由collect server进行解析,并且识别出instance_id和stats
并且写入注册表?
在instance添加属性stats,每当warden中的实例给collect server发送消息时,都会将状态更新到注册表中。
那么DEA可以通过查询注册表,来确定每个实例的内部状态。
现在是在warden中开启一个socket_client模拟应用向collect server发送消息,告诉collect,某个具体的实例instance_id的状态,更新为stats
----------
problems
1. DEA的collect server根据eventmachine建立的socket连接。使用java建立socket-client时,发送的消息,到服务器端,会多两个字符。
2. DEA向gorouter注册的是什么?
3. 由gorouter来控制实例的启停?
4. tuscany究竟如何扩展?
首先所有的从命令行读入的代码,得注意,不能读入,shell工程。
tuscany是在shell启动的时候,加入了一个server,可以用于发送消息。
那么,是何时发消息呢?
定义一组状态?
> Written with [StackEdit](https://stackedit.io/).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment