Bu sayfa henüz yerel dilinizde mevcut değildir. Daha fazla dil seçeneği eklemek için yoğun bir şekilde çalışıyoruz. Desteğiniz için teşekkür ederiz.
- What's New
- Function Overview
- Service Overview
- Billing
- Getting Started
-
User Guide
- Before You Start
- Permissions Management
-
Exclusive ServiceComb Engine
- Creating a ServiceComb Engine
-
Managing ServiceComb Engines
- Viewing ServiceComb Engine Information
- Obtaining the Service Center Address of a ServiceComb Engine
- Obtaining the Configuration Center Address of a ServiceComb Engine
- Viewing the Instance Quota of a ServiceComb Engine
- Viewing the Configuration Item Quota of a ServiceComb Engine
- Configuring Backup and Restoration of a ServiceComb Engine
- Managing Public Network Access for a ServiceComb Engine
- Viewing ServiceComb Engine Operation Logs
- Upgrading a ServiceComb Engine Version
- Deleting a ServiceComb Engine
- Changing ServiceComb Engine Specifications
- Managing Security Authentication for a ServiceComb Engine
- Managing Tags
- Using ServiceComb Engines
- Registry/Configuration Center
- Key Operations Recorded by CTS
-
Best Practices
- CSE Best Practices
-
ServiceComb Engines
-
ServiceComb Engine Application Hosting
- Hosting Spring Cloud Applications Using Spring Cloud Huawei SDK
- Hosting a Java Chassis Application
-
ServiceComb Engine Application Hosting
- Registry/Configuration Centers
-
Developer Guide
- Overview
- Developing Microservice Applications
- Preparing the Environment
- Connecting Microservice Applications
- Deploying Microservice Applications
- Using ServiceComb Engine Functions
- Appendix
-
API Reference
- Before You Start
- API Overview
- Calling APIs
- Examples
-
CSE API
- API Calling
- Dynamic Configuration
-
Engine Management
- Querying Flavors Supported by a Microservice Engine
- Querying the Microservice Engine List
- Creating an Exclusive Microservice Engine
- Querying Details About a Microservice Engine
- Deleting a Microservice Engine
- Querying Details About a Microservice Engine Job
- Retrying an Exclusive ServiceComb Engine
- Upgrading an Exclusive ServiceComb Engine
- Changing Microservice Engine Specifications
- Updating the Configuration of an Exclusive Microservice Engine
-
Microservice Governance
- Querying the Governance Policy List
- Creating a Dark Launch Policy
- Querying a Dark Launch Rule of a Microservice
- Deleting a Dark Launch Policy
- Changing a Governance Policy
- Deleting a Governance Policy
- Querying Governance Policy Details
- Creating a Governance Policy
- Querying the Governance Policy List of a Specified Kind
- Nacos API
-
ServiceComb API
- API Calling
- Authentication
-
Microservice
- Querying Information About a Microservice
- Deleting Definition Information About a Microservice
- Querying Information About All Microservices
- Creating Static Information for a Microservice
- Deleting Static Information About Microservices in Batches
- Modifying Extended Attributes of a Microservice
- Querying the Unique Service or Schema ID of a Microservice
- Schema
-
Microservice Instance
- Registering a Microservice Instance
- Querying a Microservice Instance Based on service_id
- Deregistering a Microservice Instance
- Querying Details About a Microservice Instance
- Modifying the Extended Information About a Microservice Instance
- Modifying Status of a Microservice Instance
- Sending Heartbeat Information
- Querying a Microservice Instance by Filter Criteria
- Querying Microservice Instances in Batches
- Dependency
- Configuration Management
- Appendixes
- Change History
- SDK Reference
-
FAQs
- Precautions When Using Huawei Cloud CSE
- Nacos Engines
-
ServiceComb Engines
- How Do I Perform Local Development and Testing?
- How Can I Handle a Certificate Loading Error?
- What If the Header Name Is Invalid?
- What Is the Performance Loss of Mesher?
- Why Is "Version validate failed" Displayed When I Attempt to Connect to the Service Center?
- Why Is "Not enough quota" Displayed When I Attempt to Connect to the Service Center?
- What Should I Do If the Service Registration Fails After IPv6 Is Enabled for the Exclusive ServiceComb Engine with Security Authentication Enabled?
- What Is Service Name Duplication Check?
- Why Do I Have to Define Service Contracts?
- Why Are Microservice Development Framework and Netty Versions Unmatched?
- What Do I Need to Know Before Upgrading an Exclusive ServiceComb Engine?
- What Must I Check Before Migrating Services from the Professional to the Exclusive Microservice Engine?
- Why Is "Duplicate cluster name" Displayed?
- Error Message "the subnet could not be found" Is Displayed When the Access Address Fails to Be Processed During Engine Creation
- Why Is Error "does not match rule: {Max: 100, Regexp: ^[a-zA-Z0-9]{1,160}$|^[a-zA-Z0-9][a-zA-Z0-9_\-.]{0,158}[a-zA-Z0-9]$}"}" Reported?
- What Should I Do If SpringCloud Applications Fail to Connect to the Configuration Center of ServiceComb Engine 2.x?
- Why Could My the Global Configuration Not Be Modified?
- Obtain Configurations Failed
- Videos
- General Reference
Show all
Copied.
Request Marking
- Java chassis implements the request marker-based governance capability using Handler. The Provider implements rate limiting, circuit breaker, and bulkhead, and the Consumer implements retry.
- To use the request marker-based governance capability, you need to introduce the following dependencies to the code:
<dependency> <groupId>org.apache.servicecomb</groupId> <artifactId>handler-governance</artifactId> </dependency>
- Configure the Handler chain.
servicecomb: handler: chain: Consumer: default: governance-consumer,loadbalance Provider: default: governance-provider
Java chassis is a REST/RPC framework based on open APIs. The model is different from the REST framework. Java chassis provides REST-based and RPC-based matching. You can use the servicecomb.governance.{operation}.matchType configuration item to specify the matching rule. By default, REST-based matching is used. If the highway protocol in Java chassis is used for calling, set matchType to rpc. For example,servicecomb: governance: matchType: rest #Set the global default matching mode to REST and set the highway protocol to rpc. GovernanceEndpoint.helloRpc: matchType: rpc # Set the interface helloRpc on the server to use RPC-based matching.
In REST-based matching, apiPath uses a URL, for example,
servicecomb: matchGroup: userLoginAction: | matches: - apiPath: exact: "/user/login"
In RPC-based matching, apiPath uses an operation, for example,
servicecomb: matchGroup: userLoginAction: | matches: - apiPath: exact: "UserSchema.login"
For server governance, such as rate limiting, the header is obtained from HTTP in REST-based matching. For client governance, such as retry, the header is obtained from InvocationContext in REST-based matching.
The following describes how to configure different governance policies and add dependencies to the POM file.
One request corresponds to one key. For example, userLoginAction is the name of a key. Multiple marking rules can be defined for one request. In each marking rule, the matching rules for apiPath, method, and headers can be defined. The relationship between marking rules is OR, and the relationship between matching rules is AND.
A series of operators are provided in match to match apiPath or headers.
- exact: exact match
- prefix: prefix match
- suffix: suffix match
- contains: whether the target string contains the scheme string
- compare: supporting the match in >, <, >=, <=, =, or != mode During the processing, the scheme string and the target string are converted into the Double type for comparison. The supported data range is the Double data range. If the difference between the values of = and != is less than 1e-6, the two values are considered equal. For example, if the scheme string is > –10, the target string greater than –10 is matched.
Request marking can be implemented at different application layers. For example, on the server that provides REST APIs, request information can be obtained through the HttpServletRequest API. The client called by the RestTemplate can obtain request information from the RestTemplate.
The methods for information extraction vary with frameworks and application layers. The implementation layer shields differences by mapping features to GovernanceRequest. In this way, the governance capability can be used in different frameworks and application layers.
public class GovernanceRequest { private Map<String, String> headers; private String uri; private String method;}
- To use the request marker-based governance capability, you need to introduce the following dependencies to the code:
- Spring Cloud uses Aspect to intercept the RequestMappingHandlerAdapter class to implement rate limiting, circuit breaker, and bulkhead, and intercept RestTemplate and FeignClient to implement retry.
To use the request marker-based governance capability, you need to introduce the following dependencies to the code:
<dependency> <groupId>com.huaweicloud</groupId> <artifactId>spring-cloud-starter-huawei-governance</artifactId> </dependency>
Spring Cloud is based on the REST framework and can better match the matching semantics of marker-based governance. apiPath and headers correspond to the HTTP protocol:
servicecomb: matchGroup: userLoginAction: | matches: - apiPath: exact: "/user/login" method: - POST - headers: Authentication: prefix: Basic
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot