Application service behavior management using request context
Techniques for managing application service behavior using request context are disclosed. In some embodiments, a computer system performs a method comprising: detecting a request sent by a service of an application, the service being one of a plurality of services included in a microservice architecture of the application, the request including a service type data that identifies the application and a service identification data that identifies the service; determining a behavior configuration for the request based on the service type data and the service identification data; and executing the service or another service of the plurality of services based on the determined behavior configuration.
1 . A system comprising:
at least one hardware processor; and
a non-transitory computer-readable medium storing executable instructions that, when executed, cause the at least one hardware processor to perform operations comprising:
detecting a request sent by a first service of an application, the first service being one of a plurality of services included in a microservice architecture of the application, the request including a service type data that identifies the application and a service identification data that identifies the first service;
determining a behavior configuration for the request based on the service type data and the service identification data, the behavior configuration comprising a configuration of a priority level for executing the first service or a second service of the plurality of services, and a configuration for the executing of the first service or the second service using a workload class identification, the workload class identification being configured to be used in allocating one or more computing resources for the executing of the first service or the second service; and
executing the first service or the second service based on the determined behavior configuration.
2 . The system of claim 1 , wherein the behavior configuration further comprises a configuration of a log level and a feature flag for the executing of the first service or the second service.
3 . The system of claim 1 , wherein the behavior configuration further comprises a configuration for running a database query with a statement hash and a hint, the statement hash comprising a hash of a query statement of the database query, and the hint being configured to instruct a database engine on how to execute the database query.
4 . The system of claim 1 , wherein the request comprises a byte array structure in which values of properties of the request are encoded.
5 . The system of claim 4 , wherein the properties of the request encoded in the byte array structure include one or more of a hard coded value used to determine a beginning of the request, a version of a format of the request, a length of the byte array structure, one or more trace flags, an initiator system identification, an initiator component identification, a type of the request, and a user identification.
6 . The system of claim 4 , wherein the properties of the request encoded in the byte array structure include one or more of a unique identifier of the request, a client number, a component type, a root context identification, a connection identification, a connection counter, a variable part counter, a variable part offset, and a hard coded value used to determine an end of the request.
7 . The system of claim 1 , wherein the determining the behavior configuration comprises:
accessing a behavior management catalog stored in a database, the behavior management catalog comprising a plurality of behavior configurations including the behavior configuration; and
identifying the behavior configuration from the plurality of behavior configurations in the behavior management catalog using the service type data and the service identification data.
8 . The system of claim 7 , wherein the behavior management catalog is accessed using a representational state transfer (REST) application programming interface (API).
9 . A non-transitory machine-readable storage medium tangibly embodying a set of instructions that, when executed by at least one hardware processor, causes the at least one processor to perform operations comprising:
detecting a request sent by a first service of an application, the first service being one of a plurality of services included in a microservice architecture of the application, the request including a service type data that identifies the application and a service identification data that identifies the first service;
determining a behavior configuration for the request based on the service type data and the service identification data, the behavior configuration comprising a configuration of a priority level for executing the first service or a second service of the plurality of services, and a configuration for the executing of the first service or the second service using a workload class identification, the workload class identification being configured to be used in allocating one or more computing resources for the executing of the first service or the second service; and
executing the first service or the second service based on the determined behavior configuration.
10 . The non-transitory machine-readable storage medium of claim 9 , wherein the behavior configuration further comprises a configuration of a log level and a feature flag for the executing of the first service or the second service.
11 . The non-transitory machine-readable storage medium of claim 9 , wherein the behavior configuration further comprises a configuration for running a database query with a statement hash and a hint, the statement hash comprising a hash of a query statement of the database query, and the hint being configured to instruct a database engine on how to execute the database query.
12 . The non-transitory machine-readable storage medium of claim 9 , wherein the request comprises a byte array structure in which values of properties of the request are encoded.
13 . The non-transitory machine-readable storage medium of claim 12 , wherein the properties of the request encoded in the byte array structure include one or more of a hard coded value used to determine a beginning of the request, a version of a format of the request, a length of the byte array structure, one or more trace flags, an initiator system identification, an initiator component identification, a type of the request, and a user identification.
14 . A computer-implemented method performed by a computer system comprising a memory and at least one hardware processor, the computer-implemented method comprising:
detecting a request sent by a first service of an application, the first service being one of a plurality of services included in a microservice architecture of the application, the request including a service type data that identifies the application and a service identification data that identifies the first service;
determining a behavior configuration for the request based on the service type data and the service identification data, the behavior configuration comprising a configuration of a priority level for executing the first service or a second service of the plurality of services, and a configuration for the executing of the first service or the second service using a workload class identification, the workload class identification being configured to be used in allocating one or more computing resources for the executing of the first service or the second service; and
executing the first service or the second service based on the determined behavior configuration.
15 . The computer-implemented method of claim 14 , wherein the behavior configuration further comprises a configuration of a log level and a feature flag for the executing of the first service or the second service.
16 . The computer-implemented method of claim 14 , wherein the behavior configuration further comprises a configuration for running a database query with a statement hash and a hint, the statement hash comprising a hash of a query statement of the database query, and the hint being configured to instruct a database engine on how to execute the database query.
17 . The computer-implemented method of claim 14 , wherein the request comprises a byte array structure in which values of properties of the request are encoded.
18 . The computer-implemented method of claim 17 , wherein the properties of the request encoded in the byte array structure include one or more of a hard coded value used to determine a beginning of the request, a version of a format of the request, a length of the byte array structure, one or more trace flags, an initiator system identification, an initiator component identification, a type of the request, and a user identification.
19 . The computer-implemented method of claim 17 , wherein the properties of the request encoded in the byte array structure include one or more of a unique identifier of the request, a client number, a component type, a root context identification, a connection identification, a connection counter, a variable part counter, a variable part offset, and a hard coded value used to determine an end of the request.
20 . The computer-implemented method of claim 14 , wherein the determining the behavior configuration comprises:
accessing a behavior management catalog stored in a database, the behavior management catalog comprising a plurality of behavior configurations including the behavior configuration; and
identifying the behavior configuration from the plurality of behavior configurations in the behavior management catalog using the service type data and the service identification data.