Hi,
Could you provide the full steps or share a project to reproduce the problem? I will check it. my email is shiwei.liang@volosoft.com
How about disable Abp's auto route binding for a MicroService?
I tried the settings below, none of them works.
Configure<AbpDistributedEntityEventOptions>(options =>
{
options.AutoEventSelectors.Clear();
options.AutoEventSelectors.RemovelAll(x=>true);
options.AutoEventSelectors.Remove<JobLog>();
}
I have two MicroSerives, both has an Entity Called "JobLog", and I defined a shared Eto called "JobLogEto". Then both MicroSerivces binds to this JobLogEto from RabbitMQ's exchange binding info. Within one Micro Service, there is a code subscribe to this JobLogEto, and then I noticed there are duplicate records generated, if I manually unbind the second Micro Service to this eto, then no duplicate records insert. Even in second Micro Service, I didn't subscribe to this Eto. The event are triggered twice.
I see some AppService has [IntegrationService] above the AppService. With this annotation, does it mean this AppService are only available called by other Micro Service and Angular UI code can not call this App Service?
Thanks. So our controller code should be fine. Need to investigate why the second call failed, the code was working without problem before.
If a Micro Service has two controller, which implement separate AppService, For the [Area("...")], can these two controller use same value? There is a strange behavior right now, when call another MicroService method, the first time call it is fine, and second call failed complain that the remote service is not defined in RemoteService section? Any clue? "Remote service 'xxxxService' was not found and there is no default configuration.
Hi
If several messages published to the event bus in a short period, would the event handling process all the messages without loosing any message when doesn't use the Outbox? Please read more about RabbitMQ Reliability https://www.rabbitmq.com/reliability.html
Hi All the API instances will listen to those message but they have to be configure on the same channel https://github.com/abpframework/abp-samples/tree/master/RabbitMqEventBus You can try this easy sample
you can read https://docs.abp.io/en/abp/latest/Distributed-Event-Bus#outbox-inbox-for-transactional-events more about When should use outbox when shouldn't use outbox?
For item2 I means this page: https://docs.abp.io/en/abp/latest/Distributed-Event-Bus Pre-requirements The outbox/inbox system uses the distributed lock system to handle concurrency when you run multiple instances of your application/service. So, you should configure the distributed lock system with one of the providers as explained in this document. The outbox/inbox system supports Entity Framework Core (EF Core) and MongoDB database providers out of the box. So, your applications should use one of these database providers. For other database providers, see the Implementing a Custom Database Provider section.
We do have Multiple instances of microservices, what does configure 'distributed lock system' means?
With Micro-Service architecture which the distributed event bus is implemented by RabbitMQ. I have the following questions:
hi
https://docs.abp.io/en/abp/latest/Unit-Of-Work#conventions
Finally figure out the reason, after deploy the code to Azure kubernetes, NgInx has two settings default to 60 seconds, need to change the value there https://ubiq.co/tech-blog/increase-request-timeout-nginx/
Thanks, Domina
hi
https://docs.abp.io/en/abp/latest/Unit-Of-Work#conventions
I use a timer, the API call is time out at 60 seconds. However, according to Ocelot document, the default gateway time out is 90 seconds. So where this 60 seconds time out come from? Unit of work?
hi
https://docs.abp.io/en/abp/latest/Unit-Of-Work#conventions
I read the document. Disable unit of work of entrance to avoid long file operations make Db transactions too long, otherwise, more chance of deadlock for database transactions.
Is there a way to dump data to database immediately, I add true flag to each of Insert/Update method call. But seems it doesn't work. And why gateway thinks the first operation failed and try the second time to make the same call?