FAQ

更新时间:
复制 MD 格式

This topic lists the issues that you may encounter when using SOFARegistry and provides their solutions.

Why cannot I find a published SOFARPC service on the SOFAStack Microservices console?

Cause:

The IP address of the application server is beyond the range specified by rpc_enabled_ip_range. For example, the IP address of the application server is 172.19.**.**, but the range specified by rpc_enabled_ip_range is 10:11,172.16,192.168.

Solution:

Modify rpc_enabled_ip_range to ensure that the IP address of the application server falls in the valid range specified by rpc_enabled_ip_range. In the preceding example, change 10:11,172.16,192.168 to 10:11,172.19,192.168, and then re-publish the application.

What is the strategy for a service consumer to call the service from its provider?

By default, data is called randomly. For requests with custom features, see Load balancing.

How can I avoid call failures caused by unhealthy service providers upon SOFARegistry crash?

Regardless of whether SOFARegistry crashes or not, SOFARPC implements fault tolerance for failed calls to service providers in the following two aspects:

  • Call retry: You can enable the call retry mechanism. In this case, when a non-business error (for example, a network timeout) occurs, calls are retried, that is, a service provider is randomly called for retry. For more information, see Call retry.

    Important

    If you enable the call retry mechanism, guarantee idempotence.

  • Single-machine removal: The retry mechanism can basically ensure call successes, but will increase latency accordingly. To further improve the call success rate, you can configure single-machine removal. If a service provider fails to provide the service for a long period of time, you can reduce its weight. For more information, see Automatic fault elimination.

How long will a service consumer keep data in cache?

The consumer will keep the data until a restart.

Do I need to change the ACVIP configuration only in SOFARegistry scaling?

You need to change the ACVIP configuration only when you have added or removed SessionServers of SOFARegistry. Data stored on ACVIP is not updated automatically. You can update existing data by using OSP, or go to cloudinc to perform manual update.

How do I check whether a microservice is properly connected to SOFARegistry?

On the project server, run the ps -ef | grep 9600 command to check port 9600. If the port is in listening state, the connection is normal.