Giter Club home page Giter Club logo

ligase's Introduction

Introduction

Ligase is a Golang-based implementation of Matrix home server, following the Matrix spec as defined at matrix.org. It has been used in production by an array of financial institutions in various scenarios, including but not limited to OTC-style trading (i.e in the bond trading market), collaborative workspace, stock brokerage, retail banking and more. It usually serves as the core to support more sophisticated financial applications running in secured, on-premise and regulation-compliant environments. But nothing limits it as a powerful Instant Messaging server as well as a general purpose, open, Messsging As A Platform (MaaP) solution.

Alternatives to Synapse and Dendrite

Synapse and Dendrite are two reference implementation based upon the Matrix spec, implemented in Python and Golang, respectively. Here we provide yet another alternative, field-tested by a number of banks, stock brokerage houses and fintech companies since 2018. Financial applications require an IM with lower latency, better scalability, higher concurrency and stronger backend monitoring capabilities. We therefore derived a branch originally from Dendrite but since then parting our way from it to drill into a completely different implementation with a different architecture.

Architecture and other technological considerations

While sticking to the Matrix spec as much as it could be, this implementation has adopted the following approaches:

  • a Fan-in/Fan-out topology
  • a CQRS (Command and Query Responsibility Segregation) pattern
  • leveraging Kafka for event sourcing and stream message storage
  • micro-service based with full leverage to containers (i.e. Docker) and container choreography platforms (i.e. Kubernetes/Rancher)

A Cloud-native K8S application

The implementation will gradually take advantage of cloud facilities so as to reach the state of being cloud-native, inherently supporting DevOps. It deploys via docker-compose as a single node deployment. But it meets enterprise-grade requirements to run as a native K8S application, leveraging K8S' elasticity and resiliency. Integration with Prometheus gives IT operators a powerful monitoring tool.

Installation

Read the INSTALL

Contributing

Read the CONTRIBUTING

Troubleshooting

problems and known solutions

Support channels

Slack/Reddit/StackOverflow/FinChat

ligase's People

Contributors

alain898 avatar anoadragon453 avatar ara4n avatar babolivier avatar charizer avatar erikjohnston avatar exul avatar gentang avatar hackervera avatar jcgruenhage avatar jplatte avatar kegsay avatar mtrnord avatar negativemjark avatar ptman avatar richvdh avatar rreuvekamp avatar superdump avatar t3chguy avatar ycdeng avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.