How to consume custom event from aws event bridge? - aws-event-bridge

My requirement is there is 1 Spring boot application which creates custom event and send to aws eventbridge which invokes lambda and do some processing.Now how to receive this custom event in another custom application ?
I am able to send event to ec2 instance via lambda but not to spring Boot application on local

Related

How to expose my web application REST API using spring cloud data flow local

Looking for help on my below query.
I have a web application with 2 REST API and i want to deploy this application to Spring Cloud Data Flow local server. When other application in the local server calls this API, i want to execute my methods.
I tried below option and it didn't worked.
a) register my web application as app
b) created a task using the app in step(a)
c) created "HTTP|LOCAL-SERVER" stream and deployed
d) accessed REST URL using postman
e) my REST API call is not initiated as i cannot see any logs neither in the SCDF log nor application logs.
Thank You.
Have you checked http-client processor?
That appears to solve your use case (if I understood your requirement correctly).

Laravel events behind load balancer - how to make the event visible to all the servers in the autoscale group

I have an application running Laravel 6.1. There are clients which connect to it via laravel websockets and listen for events. I have an external service which sends post requests to this server which will then raise an event, and the websocket clients see it. I am in the dev stage, and it's not been deployed yet, this is what I'm currently researching. I use Docker, so there's an nginx container, a php container, and a Mysql container(in production, the containers will use RDS though)
This works fine in development, but the plan is to deploy in ECS, with Elastic Beanstalk, as it enables multiple containers per EC2 instance. I was planning on having these instances auto scale with a load balancer, so my question is how can I make the incoming events be raised and visible on all the servers? For example, the post request may hit one instance and the clients connected to that instance would see that the event was raised, but the clients connected to another instance will not see the raised event. Is this accurate? I'd imagine the events will have to be sent to some kind of "queue" which is monitored by all instances, but not sure how to implement that with Laravel or if there's a simpler faster way.
Based on the comments.
The proposed solution involves the use of sns instead of the SQS.
The reason is that sns allows delivery of messages to multiple recipients at the same time. In contrast, SQS is designed for one delivery of messages to only one recipient, unless used in fan out architecture.

Netflix Zuul and Ribbon Router

When need to authenticate to the backend service instance prior to the webservice call. Prior to using ribbon we have been using a Zuul pre filter to accomplish this. When switching to ribbon the pre filter now only has access to the service name and not the backend URI that will be invoked. How should this be handled ? Is it possible to register a pre-action with the ribbon router ?
thank you

Calling an action method on predefined time

I have an action method inside a controller class , that do a Sync . currently the user can manually call this action method, by clicking on a button from the view.
But my question is whether I can create a job or bath that runs on the host server let say each 1 hour and call this action method.
Currently I am using form authentication, and i am hosting my asp.net mvc web application on IIS 7
Thanks
There are a few ways of doing this.
Refactor the code out of MVC and put it inside a WCF service, configure this service to make use of http://quarts.net/ and setup the schedule to run. This service can then be hosted inside IIS.
You can also create a Windows Service (NT Service) that makes use of Quartz.Net. This service can then be installed on the production server.
You can create a batch file and use a windows task to fire off an exe that will run the job.

Creating the same SignalR Hub for all the clients

I'm just start testing SignalR for monitoring application . I have a control which make a call to the Hub by the client side. I noticed , each time the client make Connection.Hub.Start() it creates a new Hub instance in the server , I need to refresh my control all the time , so I don't want it to create new Hub for each one.
Is there a way to create single Hub for all clients or I'm missing something?
A Hub instance is created for each request, much like an ASP.NET Page instance is created for each request in WebForms, a Controller is created for each request in ASP.NET MVC or a WCF service instance is created for each service request when using InstanceMode.PerCall.
If you want to maintain shared state between Hub requests/instances you would need to use a static field or some other, more advanced form of state sharing (e.g. dependency injected singleton).

Resources