This repository has been archived by the owner on Jul 16, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 167
RSocket Services
linux_china edited this page Nov 19, 2020
·
3 revisions
RSocket Broker的服务管理方式采用的是微内核设计,核心组件为Broker,而服务都是以外部进程方式注册到Broker上,且采取异步化通讯的方式。 Broker主要涉及服务的生命周期、状态维护、路由管理和数据采集等工作,当需要扩展服务时,我们只需要编写外部服务注册到Broker即可,架构图如下:
项目开发中,会涉及到非常多服务,但是一些服务非常重要,这里列举一下,架构设计比较方便:
- 通讯类: 邮件、短信和IM通知等
- Auth: RSocket Broker内置,JWT + ACL
- Config: ConfigurationService内置,Secret需要独立支持
- Registry: 已经内置服务注册
- Pub/Sub: 消息推送服务,可以通过外部服务整合Kafka
- Events: CloudEvents内置
- Store: 服务整合,如Redis
- File Store: 文件存储,如OSS, S3
- Cache: 缓存服务
- HTTP Proxy: 访问HTTP服务提供代理服务
- Cloud Service Proxy: 对接外部云服务,更方便内部系统调用,且安全性也比较高
这里要注意一下: 考虑到多语言的接入,服务接口一定要考虑多语言支持的问题,如必须支持Json数据格式,这样可以确保多语言接入。
关于更多的Reactive服务规范草案,请参考: https://github.com/alibaba-rsocket-broker/reactive-service-specification-proposals
- Binary: byte stream
- Async message
- Multi transports
- Reactive Semantics
- request/response
- request/stream
- fire-and-forget
- channel
- TCP+TLS
- WebSocket+TLS
- UDP(Aeron)
- RDMA