Comments (7)
你这样用代理的方式可能有很多问题。
首先,CAP用来保证分布式事务的前提是首先需要集成本地事务的持久化消息的,这样可以保证消息在业务代码执行期间消息是肯定能够存储成功的。然后CAP通过ICapPublisher接口发送消息,这个消息格式是有一定要求的,要不然在接收到之后反序列化可能会出问题。 订阅这一块也是有和Dashboard功能配合的,如果你不使用[CapSubscriber()]这样方式那么Dashboard这里的订阅列表功能也需要修改。
你的这个需求,我建议你直接封装一下MQ客户端简单实现即可。
from cap.
publisher这块我准备为各个系统提供对应语言的sdk来实现发送的本地事务保护.
subscriber这块因为各个系统涉及各个部门,sdk的开发和维护量有点大,权衡下来就是用同步方法,失败就重发的方式来保证通知的可靠性
dashboard这块可以先不使用
主要是想知道如何在runtime时为consumerclient注册topic,请指教.
from cap.
我这样描述你的需求是否恰当:
有几个不同语言开发的系统,这些系统间需要相互传递消息,消息的类型可能会变化(有未知可能)。消息的传递想通过一个asp.net core 的系统中转。
不明白的地方:消息有实时性要求如何?
感觉不能完全理解你的需求,也许是知识不够
from cap.
@suxi MQ的客户端似乎不能在运行时增加订阅Topic哦?
from cap.
@jjjjj10231023 差不多是这样的需求,不过publish侧我会提供sdk给各个系统,subsribe侧我希望用代理方式进行中转,当然一个业务系统会有一个独立的代理为它服务,没有很强的实时性需求,因为eventbus本来已经是异步了.上面说的用同步方法是指代理->系统api的调用我会使用同步方式,保证代理能及时知道调用是否失败来进行重试处理.
@yuleyule66 可能说运行时不够准确,是在asp.netcore setup的时候,读取配置的topic信息,并绑定到指定的ISubscribeService的某个method(目前简单处理,选第一个)上.目前我已经完成这个功能,现在正在看怎么把topic还有messageid转给这个函数来提供中转必要的参数.
from cap.
功能已实现
from cap.
Function has been implemented
How can I do that? Where is that implementation?
from cap.
Related Issues (20)
- 能不能加个配置,可以单独启用消费功能或发送功能 ? HOT 2
- How to Introduce Multiple Database Providers? HOT 1
- .NET Core 8 使用RabbitMQ 报No ip address could be resolved for【hostName】的问题 HOT 1
- Optimizing RabbitMQ Performance and Managing Multiple Instances in CAP HOT 2
- Feature Request: Per-Queue Configuration for BasicQos and ConsumerThreadCount HOT 3
- 消息持久化支持达梦数据库吗 HOT 1
- Is the message data structure compatible with older versions of 3.0? HOT 1
- Add new option for parallel publish send. HOT 2
- Add option for controlling reponse headers from OnSubscribeExecuted HOT 2
- NATS Connection Error after Restarting nats-server: Unable to Publish Messages HOT 5
- SQL Server replication readpast error! "You can only specify the READPAST lock in the READ COMMITTED or REPEATABLE READ isolation levels" HOT 3
- 一个进程内可以创建多个CAP吗? HOT 1
- NATS feature: add the possibility to disable dynamic consumer subject/topic creation through NatsCapOtpions HOT 2
- 一个程序进程会操作多个不同的业务数据库,参考#998创建多个发布者进行对应处理,消费者应该如何处理消息? HOT 1
- Feature Request: Add New Column in table Cap.published for relation to table every single data publish HOT 2
- Callback on IIS Idle state HOT 2
- Cap-dashboard empty using dynamic subscribers with Azure Service Bus
- Feature Request:Subscribers can batch process messages HOT 1
- 现在cap支持dm8数据库吗? HOT 2
- I have already developed CAP to support the Dameng database. How can I submit it HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cap.