protected Layer identifyRemoteServiceLayer(SpanLayer spanLayer, String peer) {
        switch (spanLayer) {
            case Unknown:
                return Layer.UNDEFINED;
            case Database:
                return Layer.VIRTUAL_DATABASE;
            case RPCFramework:
                return Layer.GENERAL;
            case Http:
                if (config.getUninstrumentedGatewaysConfig().isAddressConfiguredAsGateway(peer)) {
                    return Layer.VIRTUAL_GATEWAY;
                }
                return Layer.GENERAL;
            case MQ:
                return Layer.VIRTUAL_MQ;
            case Cache:
                return Layer.VIRTUAL_CACHE;
            case UNRECOGNIZED:
                return Layer.UNDEFINED;
            case FAAS:
                return Layer.FAAS;
            default:
                throw new UnexpectedException("Can't transfer to the Layer. SpanLayer=" + spanLayer);
        }
    }
Identify the layer of remote service. Such as  ${@link Layer#DATABASE} and ${@link Layer#CACHE}.
oap-server/analyzer/agent-analyzer/src/main/java/org/apache/skywalking/oap/server/analyzer/provider/trace/parser/listener/RPCAnalysisListener.java