Skip to content
/ xing Public

Opinionated wrapper around github.com/streadway/amqp for micro-service architecture

License

Notifications You must be signed in to change notification settings

wzhliang/xing

Repository files navigation

About

Designed to be pronounced like "cross-ing", this is currently a narrow-minded RPC library that helps building a particular style of microservices.

Essentially, it is RabbitMQ + protobuf with some pre-defined rules on message topics.

Credit

This started from an opioninated usage of the amqp library, as such, it took references from the following fine projects, especially cony:

  • cony
    • wrapper around ampq in declarative style
  • coworkers
    • A RabbitMQ Microservice Framework in Node.js
  • relay
    • Golang framework for simple message passing using an AMQP broker

Later on, somebody suggested that xing should provide higher level functionalities like what gRPC does. Initially I was against the idea because 1) I don't really like code generators 2) I don't really like hiding the fact that a seemingly simple function call is actually a remote call. But I added the functionality anyway, again, taking references from the following fine projects, especially go-micro:

  • go-micro
    • a feature rich, flexible microservice framework that has very good abstraction. the companion protobuf compiler plugin for xing was a fork from go-micro; the WIP sercice registration builds directly on top of the registry package.
  • go-kit
    • A standard library for microservices.
  • rpcx
    • A RPC service framework based on net/rpc like alibaba Dubbo and weibo Motan. One of best performance RPC frameworks.

About

Opinionated wrapper around github.com/streadway/amqp for micro-service architecture

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages