Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/finogeeks/Ligase
Ligase is a Golang-based implementation of Matrix homeserver, powered by finogeeks https://www.finogeeks.com/Finchat
https://github.com/finogeeks/Ligase
golang instant-messaging matrix-org
Last synced: 5 days ago
JSON representation
Ligase is a Golang-based implementation of Matrix homeserver, powered by finogeeks https://www.finogeeks.com/Finchat
- Host: GitHub
- URL: https://github.com/finogeeks/Ligase
- Owner: finogeeks
- License: agpl-3.0
- Created: 2020-05-20T06:03:14.000Z (over 4 years ago)
- Default Branch: develop
- Last Pushed: 2023-10-08T03:19:33.000Z (about 1 year ago)
- Last Synced: 2024-08-01T12:23:04.081Z (3 months ago)
- Topics: golang, instant-messaging, matrix-org
- Language: Go
- Size: 22.1 MB
- Stars: 141
- Watchers: 10
- Forks: 29
- Open Issues: 29
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - finogeeks/Ligase - Ligase is a Golang-based implementation of Matrix homeserver, powered by finogeeks https://www.finogeeks.com/Finchat (golang)
README
FinChat
A general purpose, open, Messsging As A Platform (MaaP) solution.
👉 https://www.finogeeks.com/Finchat 👈-----
## 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](./INSTALL.md)
## Contributing
Read the [CONTRIBUTING](./CONTRIBUTING.md)
## Troubleshooting
problems and known solutions
## Support channels
Slack/Reddit/StackOverflow/FinChat
## About Finogeeks
You can visit [finogeeks.com](https://www.finogeeks.com/) to get more details.