easymq 编写简单的消息服务

easymq 编写简单的消息服务
easymq 用于替代qpid的消息中间件。
通信基础采用tce引擎,提供topic和queue两种队列。
mq服务器启动加载mq条目,建立mq内存对象,提供认证,客户程序连接时指定mq名称和认证口令,
管理程序可以动态增加、删除和监视队列。
mq持久化支持,根据创建参数控制durable。
easymq第一个版利用可以用python实现,之后考虑资源利用和系统会用c++实现
easymq是tce一个很好的应用。
定位够轻,够简单,暂不考虑负载均横和自动路由。

实例化mq服务器
1  def start(self):
2         tce.RpcCommunicator.instance().init( ' easymq.server ')
3         ep = tce.RpcEndPoint(host=self.default_host,port=self.default_port)
4         adapter = tce.RpcCommunicator.instance().createAdapter( ' first ',ep)
5         servant = self
6         adapter.addServant(servant)
7          print  ' wait for shutdown.. '
8         tce.RpcCommunicator.instance().waitForShutdown()

1 server = Server.instance()
2  print  ' easymq server launched.. '
3 server.init().start()

接收消息
 1  import easymq
 2 
 3  def readThread(conn):
 4      while True:
 5         m = conn.read( )
 6          print  ' got one: ',m
 7 
 8  if  __name__== ' __main__ ':
 9     easymq.init()
10     conn = easymq.Connection(( ' 127.0.0.1 ',12301), ' test ',mode=easymq.READWRITE)
11     conn.open()
12     readThread(conn)

发送消息到接收者
 1  import easymq
 2 
 3  if  __name__== ' __main__ ':
 4     easymq.init()
 5 
 6     conn = easymq.Connection(( ' 127.0.0.1 ',12301), ' test ',mode=easymq.WRITE)
 7     conn.open()
 8      for n  in range(100):
 9         conn.write(str(n)*10)
10      #  waitForShutdown()
11      gevent.sleep(2)





你可能感兴趣的:(easymq 编写简单的消息服务)