In a distributed system with a microservice architecture having a plurality of services and a messaging layer for communication therebetween, systems and methods include receiving messages from a first service to a second service in the messaging layer; queuing responses from the messages; and utilizing one or more bulk messaging techniques to send the responses back to the first service from the second service. The systems and methods can also include maintaining statistics related to the one or more bulk messaging techniques; and automatically determining which of the one or more bulk messaging techniques based on the statistics, to minimize latency of the messaging layer.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A non-transitory computer-readable medium comprising instructions that, when executed, cause a processor to perform the steps of: in a distributed system with a microservice architecture having a plurality of services and a messaging layer between an application layer and a transport layer for communication between the plurality of services, receiving messages from a first service to a second service in the messaging layer; queuing responses from the messages; and utilizing one or more bulk messaging techniques to send the responses back to the first service from the second service, wherein the messaging layer is configured to perform the queuing the responses and the utilizing the one or more bulk messaging techniques independent of the first service, the second service, and the transport protocol of the transport layer.
2. The non-transitory computer-readable medium of claim 1 , wherein the instructions that, when executed, further cause the processor to perform the steps of maintaining statistics related to the one or more bulk messaging techniques; and automatically determining which of the one or more bulk messaging techniques based on the statistics, to minimize latency of the messaging layer.
3. The non-transitory computer-readable medium of claim 1 , wherein the one or more bulk messaging techniques include any of time window-based bulking, counter-based bulking, size-based bulking, and transaction-based bulking.
4. The non-transitory computer-readable medium of claim 1 , wherein the one or more bulk messaging techniques include multiple bulk messaging techniques, selected to minimize latency of the messaging layer.
5. The non-transitory computer-readable medium of claim 1 , wherein the one or more bulk messaging techniques include time window-based bulking where the queuing is over a predetermined time window.
6. The non-transitory computer-readable medium of claim 1 , wherein the one or more bulk messaging techniques include counter-based bulking where the queuing is based on a counter.
7. The non-transitory computer-readable medium of claim 1 , wherein the one or more bulk messaging techniques include size-based bulking where the queuing is based on a size of each response.
8. The non-transitory computer-readable medium of claim 1 , wherein the one or more bulk messaging techniques include transaction-based bulking where the queuing is based on a transaction tag.
9. The non-transitory computer-readable medium of claim 1 , wherein the first service is configured to provide information in one or more of the messages related to the one or more bulk messaging techniques.
10. An apparatus comprising: a processor and memory comprising instructions that, when executed, cause the processor to execute a messaging layer, between an application layer and a transport layer, for communication between a plurality of services in a distributed system with a microservice architecture, wherein the messaging layer is configured to receive messages from a first service to a second service in the messaging layer, queue responses from the messages, and utilize one or more bulk messaging techniques to send the responses back to the first service from the second service, wherein the messaging layer is configured to perform the queuing the responses and the utilizing the one or more bulk messaging techniques independent of the first service, the second service, and the transport protocol of the transport layer.
11. The apparatus of claim 10 , wherein the messaging layer is further configured to maintain statistics related to the one or more bulk messaging techniques, and automatically determine which of the one or more bulk messaging techniques based on the statistics, to minimize latency of the messaging layer.
12. The apparatus of claim 10 , wherein the one or more bulk messaging techniques include any of time window-based bulking, counter-based bulking, size-based bulking, and transaction-based bulking.
13. The apparatus of claim 10 , wherein the one or more bulk messaging techniques include multiple bulk messaging techniques, selected to minimize latency of the messaging layer.
14. The apparatus of claim 10 , wherein the one or more bulk messaging techniques include time window-based bulking where the queue is over a predetermined time window.
15. The apparatus of claim 10 , wherein the one or more bulk messaging techniques include counter-based bulking where the queue is based on a counter.
16. The apparatus of claim 10 , wherein the one or more bulk messaging techniques include size-based bulking where the queue is based on a size of each response.
17. The apparatus of claim 10 , wherein the one or more bulk messaging techniques include transaction-based bulking where the queue is based on a transaction tag.
18. The apparatus of claim 10 , wherein the first service is configured to provide information in one or more of the messages related to the one or more bulk messaging techniques.
19. A computer-implemented method comprising: in a distributed system with a microservice architecture having a plurality of services and a messaging layer between an application layer and a transport layer for communication between the plurality of services, receiving messages from a first service to a second service in the messaging layer; queuing responses from the messages; and utilizing one or more bulk messaging techniques to send the responses back to the first service from the second service, wherein the messaging layer is configured to perform the queuing the responses and the utilizing the one or more bulk messaging techniques independent of the first service, the second service, and transport protocol of the transport layer.
20. The computer-implemented method of claim 19 , further comprising maintaining statistics related to the one or more bulk messaging techniques; and automatically determining which of the one or more bulk messaging techniques based on the statistics, to minimize latency of the messaging layer.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
August 9, 2019
January 12, 2021
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.