Note08--Service && Provider

1. 目录

这里写图片描述

2. $http
    a. E.g.
        i. HTTPBasic.html
<html ng-app="MyModule">
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <script src="framework/angular-1.3.0.14/angular.js"></script>
        <script src="HTTPBasic.js"></script>
    </head>
    <body>
        <div ng-controller="LoadDataCtrl">
            <ul>
                <li ng-repeat="user in users">
                    {{user.name}}
                </li>
            </ul>
        </div>
    </body>
</html>
        ii. HTTPBasic.js
var myModule=angular.module("MyModule",[]);
myModule.controller('LoadDataCtrl', ['$scope','$http', function($scope,$http){
    $http({
        method: 'GET',
        url: 'data.json'
    }).success(function(data, status, headers, config) {
        console.log("success...");
        console.log(data);
        $scope.users=data;
    }).error(function(data, status, headers, config) {
        console.log("error...");
    });
}]);
3. Service

这里写图片描述

    a. E.g.
        i. MyService1.html
<html ng-app="MyServiceApp">

<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <link rel="stylesheet" href="framework/bootstrap-3.0.0/css/bootstrap.css">
    <script src="framework/angular-1.3.0.14/angular.js"></script>
    <script src="MyService1.js"></script>
</head>

<body>
    <div ng-controller="ServiceController">
        <label>用户名</label>
        <input type="text" ng-model="username" placeholder="请输入用户名" />
        <pre ng-show="username">{{users}}</pre>
    </div>
</body>

</html>
        ii. MyService1.js
var myServiceApp = angular.module("MyServiceApp", []);
myServiceApp.factory('userListService', ['$http',
    function($http) {
        var doRequest = function(username, path) {
            return $http({
                method: 'GET',
                url: 'users.json'
            });
        }
        return {
            userList: function(username) {
                return doRequest(username, 'userList');
            }
        };
    }
]);

myServiceApp.controller('ServiceController', ['$scope', '$timeout', 'userListService',
    function($scope, $timeout, userListService) {
        var timeout;
        $scope.$watch('username', function(newUserName) {
            if (newUserName) {
                if (timeout) {
                    $timeout.cancel(timeout);
                }
                timeout = $timeout(function() {
                    userListService.userList(newUserName)
                        .success(function(data, status) {
                            $scope.users = data;
                        });
                }, 350);
            }
        });
    }
]);

//...
        iii. $scope.$watch:监控一个数据模型的变化
        iv. 自己定义的Service
            1) 不要以$开头
            2) 必须放在放在最后一个,前面必须先放置AngularJS的内置服务
            3) 自定义的Service也存在依赖注入
4. Service、Provider、Factory三者之间的关系

这里写图片描述

5. 其他常用Service

这里写图片描述

乐播投屏是一款简单好用、功能强大的专业投屏软件,支持手机投屏电视、手机投电脑、电脑投电视等多种投屏方式。 多端兼容与跨网投屏:支持手机、平板、电脑等多种设备之间的自由组合投屏,且无需连接 WiFi,通过跨屏技术打破网络限制,扫一扫即可投屏。 广泛的应用支持:支持 10000+APP 投屏,包括综合视频、网盘与浏览器、美韩剧、斗鱼、虎牙等直播平台,还能将央视、湖南卫视等各大卫视的直播内容一键投屏。 高清流畅投屏体验:腾讯独家智能音画调校技术,支持 4K 高清画质、240Hz 超高帧率,低延迟不卡顿,能为用户提供更高清、流畅的视觉享受。 会议办公功能强大:拥有全球唯一的 “超级投屏空间”,扫码即投,无需安装。支持多人共享投屏、远程协作批注,PPT、Excel、视频等文件都能流畅展示,还具备企业级安全加密,保障会议资料不泄露。 多人互动功能:支持多人投屏,邀请好友加入投屏互动,远程也可加入。同时具备一屏多显、语音互动功能,支持多人连麦,实时语音交流。 文件支持全面:支持 PPT、PDF、Word、Excel 等办公文件,以及视频、图片等多种类型文件的投屏,还支持网盘直投,无需下载和转格式。 特色功能丰富:投屏时可同步录制投屏画面,部分版本还支持通过触控屏或电视端外接鼠标反控电脑,以及在投屏过程中用画笔实时标注等功能。
2025-07-08 18:17:15.318 | INFO 7 | main [TID: N/A] com.alibaba.nacos.client.naming | initializer namespace from ALIBABA_ALIWARE_NAMESPACE attribute :null 2025-07-08 18:17:15.319 | INFO 7 | main [TID: N/A] com.alibaba.nacos.client.naming | initializer namespace from namespace attribute :null 2025-07-08 18:17:15.336 | INFO 7 | main [TID: N/A] c.a.n.p.a.s.c.ClientAuthPluginManager | [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.impl.NacosClientAuthServiceImpl success. 2025-07-08 18:17:15.336 | INFO 7 | main [TID: N/A] c.a.n.p.a.s.c.ClientAuthPluginManager | [ClientAuthPluginManager] Load ClientAuthService com.alibaba.nacos.client.auth.ram.RamClientAuthServiceImpl success. 2025-07-08 18:17:15.341 | INFO 7 | main [TID: N/A] com.alibaba.nacos.common.remote.client | [RpcClientFactory] create a new rpc client of eaa3db5c-e65a-4822-8df1-21ebf50e776c 2025-07-08 18:17:15.344 | INFO 7 | main [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] RpcClient init, ServerListFactory = com.alibaba.nacos.client.naming.core.ServerListManager 2025-07-08 18:17:15.344 | INFO 7 | main [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Registry connection listener to current client:com.alibaba.nacos.client.naming.remote.gprc.redo.NamingGrpcRedoService 2025-07-08 18:17:15.345 | INFO 7 | main [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Register server push request handler:com.alibaba.nacos.client.naming.remote.gprc.NamingPushRequestHandler  08 18:17:15.345 | INFO 7 | main [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Try to connect to server on start up, server: {serverIp = 'nacos', server main port = 8848} 2025-07-08 18:17:15.346 | INFO 7 | main [TID: N/A] c.a.n.c.remote.client.grpc.GrpcClient | grpc client connection server:nacos ip,serverPort:9848,grpcTslConfig:{"sslProvider":"OPENSSL","enableTls":false,"mutualAuthEnable":false,"trustAll":false} 2025-07-08 18:17:15.440 | INFO 7 | http-nio-48090-exec-2 [TID: N/A] o.apache.tomcat.util.http.parser.Cookie | A cookie header was received [Hm_lvt_eb21166668bf766b9d059a6fd1c10777=1751592293,1751847712,1751938486,1751964674;] that contained an invalid cookie. That cookie will be ignored. Note: further occurrences of this error will be logged at DEBUG level. 2025-07-08 18:17:15.449 | INFO 7 | http-nio-48090-exec-2 [TID: N/A] o.a.c.c.C.[Tomcat].[localhost].[/] | Initializing Spring DispatcherServlet 'dispatcherServlet' 2025-07-08 18:17:15.450 | INFO 7 | http-nio-48090-exec-2 [TID: N/A] o.s.web.servlet.DispatcherServlet | Initializing Servlet 'dispatcherServlet' 2025-07-08 18:17:15.452 | INFO 7 | http-nio-48090-exec-2 [TID: N/A] o.s.web.servlet.DispatcherServlet | Completed initialization in 2 ms 2025-07-08 18:17:15.460 | INFO 7 | main [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Success to connect to server [nacos:8848] on start up, connectionId = 1751969835352_172.20.0.6_41936 2025-07-08 18:17:15.460 | INFO 7 | main [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Register server push request handler:com.alibaba.nacos.common.remote.client.RpcClient$ConnectResetRequestHandler 2025-07-08 18:17:15.460 | INFO 7 | main [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Register server push request handler:com.alibaba.nacos.common.remote.client.RpcClient$$Lambda/0x00007f7fc05091a8 2025-07-08 18:17:15.460 | INFO 7 | com.alibaba.nacos.client.remote.worker [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Notify connected event to listeners. 2025-07-08 18:17:15.460 | INFO 7 | com.alibaba.nacos.client.remote.worker [TID: N/A] com.alibaba.nacos.client.naming | Grpc connection connect 2025-07-08 18:17:15.464 | INFO 7 | main [TID: N/A] com.alibaba.nacos.client.naming | [REGISTER-SERVICE] prod registering service data-aggregation-server with instance Instance{instanceId='null', ip='172.20.0.6', port=48090, weight=1.0, healthy=true, enabled=true, ephemeral=true, clusterName='DEFAULT', serviceName='null', metadata={management.endpoints.web.base-path=/actuator, tag=18b0317a5a55, preserved.register.source=SPRING_CLOUD, version=1.0.0, IPv6=null}} 2025-07-08 18:17:15.484 | INFO 7 | main [TID: N/A] c.a.c.n.registry.NacosServiceRegistry | nacos registry, DEFAULT_GROUP data-aggregation-server 172.20.0.6:48090 register finished 2025-07-08 18:17:15.515 | INFO 7 | main [TID: N/A] f.m.d.a.DataAggregationServerApplication | Started DataAggregationServerApplication in 21.148 seconds (process running for 24.394) 2025-07-08 18:17:15.562 | INFO 7 | main [TID: N/A] c.a.nacos.client.config.impl.CacheData | nacos.cache.data.init.snapshot = true 2025-07-08 18:17:15.562 | INFO 7 | main [TID: N/A] c.a.n.client.config.impl.ClientWorker | [fixed-prod-nacos_8848] [subscribe] data-aggregation-server.yaml+DEFAULT_GROUP+prod 2025-07-08 18:17:15.583 | INFO 7 | main [TID: N/A] c.a.nacos.client.config.impl.CacheData | [fixed-prod-nacos_8848] [add-listener] ok, tenant=prod, dataId=data-aggregation-server.yaml, group=DEFAULT_GROUP, cnt=1 2025-07-08 18:17:15.583 | INFO 7 | main [TID: N/A] c.a.c.n.refresh.NacosContextRefresher | [Nacos Config] Listening config: dataId=data-aggregation-server.yaml, group=DEFAULT_GROUP 2025-07-08 18:17:15.584 | INFO 7 | main [TID: N/A] c.a.n.client.config.impl.ClientWorker | [fixed-prod-nacos_8848] [subscribe] base-datasource.yaml+DEFAULT_GROUP+prod 2025-07-08 18:17:15.585 | INFO 7 | main [TID: N/A] c.a.nacos.client.config.impl.CacheData | [fixed-prod-nacos_8848] [add-listener] ok, tenant=prod, dataId=base-datasource.yaml, group=DEFAULT_GROUP, cnt=1 2025-07-08 18:17:15.585 | INFO 7 | main [TID: N/A] c.a.c.n.refresh.NacosContextRefresher | [Nacos Config] Listening config: dataId=base-datasource.yaml, group=DEFAULT_GROUP 2025-07-08 18:17:15.585 | INFO 7 | main [TID: N/A] c.a.n.client.config.impl.ClientWorker | [fixed-prod-nacos_8848] [subscribe] data-aggregation-server+DEFAULT_GROUP+prod 2025-07-08 18:17:15.585 | INFO 7 | main [TID: N/A] c.a.nacos.client.config.impl.CacheData | [fixed-prod-nacos_8848] [add-listener] ok, tenant=prod, dataId=data-aggregation-server, group=DEFAULT_GROUP, cnt=1 2025-07-08 18:17:15.585 | INFO 7 | main [TID: N/A] c.a.c.n.refresh.NacosContextRefresher | [Nacos Config] Listening config: dataId=data-aggregation-server, group=DEFAULT_GROUP 2025-07-08 18:17:15.586 | INFO 7 | main [TID: N/A] c.a.n.client.config.impl.ClientWorker | [fixed-prod-nacos_8848] [subscribe] redis-conf.yaml+DEFAULT_GROUP+prod 2025-07-08 18:17:15.586 | INFO 7 | main [TID: N/A] c.a.nacos.client.config.impl.CacheData | [fixed-prod-nacos_8848] [add-listener] ok, tenant=prod, dataId=redis-conf.yaml, group=DEFAULT_GROUP, cnt=1 2025-07-08 18:17:15.586 | INFO 7 | main [TID: N/A] c.a.c.n.refresh.NacosContextRefresher | [Nacos Config] Listening config: dataId=redis-conf.yaml, group=DEFAULT_GROUP 2025-07-08 18:17:15.586 | INFO 7 | main [TID: N/A] c.a.n.client.config.impl.ClientWorker | [fixed-prod-nacos_8848] [subscribe] data-aggregation-server-prod.yaml+DEFAULT_GROUP+prod 2025-07-08 18:17:15.586 | INFO 7 | main [TID: N/A] c.a.nacos.client.config.impl.CacheData | [fixed-prod-nacos_8848] [add-listener] ok, tenant=prod, dataId=data-aggregation-server-prod.yaml, group=DEFAULT_GROUP, cnt=1 2025-07-08 18:17:15.586 | INFO 7 | main [TID: N/A] c.a.c.n.refresh.NacosContextRefresher | [Nacos Config] Listening config: dataId=data-aggregation-server-prod.yaml, group=DEFAULT_GROUP 2025-07-08 18:17:15.720 | INFO 7 | http-nio-48090-exec-2 [TID: N/A] com.alibaba.nacos.client.naming | [SUBSCRIBE-SERVICE] service:system-server, group:DEFAULT_GROUP, clusters: 2025-07-08 18:17:15.738 | INFO 7 | http-nio-48090-exec-2 [TID: N/A] com.alibaba.nacos.client.naming | init new ips(1) service: DEFAULT_GROUP@@system-server -> [{"instanceId":"172.20.0.12#48081#DEFAULT#DEFAULT_GROUP@@system-server","ip":"172.20.0.12","port":48081,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@system-server","metadata":{"management.endpoints.web.base-path":"/actuator","tag":"9f19841e8aac","preserved.register.source":"SPRING_CLOUD","version":"1.0.0"},"instanceHeartBeatInterval":5000,"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000}] 2025-07-08 18:17:15.740 | INFO 7 | http-nio-48090-exec-2 [TID: N/A] com.alibaba.nacos.client.naming | current ips:(1) service: DEFAULT_GROUP@@system-server -> [{"instanceId":"172.20.0.12#48081#DEFAULT#DEFAULT_GROUP@@system-server","ip":"172.20.0.12","port":48081,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@system-server","metadata":{"management.endpoints.web.base-path":"/actuator","tag":"9f19841e8aac","preserved.register.source":"SPRING_CLOUD","version":"1.0.0"},"instanceHeartBeatInterval":5000,"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000}] 2025-07-08 18:17:15.964 | INFO 7 | http-nio-48090-exec-4 [TID: N/A] com.alibaba.nacos.client.naming | [SUBSCRIBE-SERVICE] service:monitor-server, group:DEFAULT_GROUP, clusters: 2025-07-08 18:17:15.970 | INFO 7 | http-nio-48090-exec-4 [TID: N/A] com.alibaba.nacos.client.naming | init new ips(1) service: DEFAULT_GROUP@@monitor-server -> [{"instanceId":"172.20.0.10#48088#DEFAULT#DEFAULT_GROUP@@monitor-server","ip":"172.20.0.10","port":48088,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@monitor-server","metadata":{"management.endpoints.web.base-path":"/actuator","tag":"79a483848885","preserved.register.source":"SPRING_CLOUD","version":"1.0.0"},"instanceHeartBeatInterval":5000,"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000}] 2025-07-08 18:17:15.970 | INFO 7 | http-nio-48090-exec-4 [TID: N/A] com.alibaba.nacos.client.naming | current ips:(1) service: DEFAULT_GROUP@@monitor-server -> [{"instanceId":"172.20.0.10#48088#DEFAULT#DEFAULT_GROUP@@monitor-server","ip":"172.20.0.10","port":48088,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@monitor-server","metadata":{"management.endpoints.web.base-path":"/actuator","tag":"79a483848885","preserved.register.source":"SPRING_CLOUD","version":"1.0.0"},"instanceHeartBeatInterval":5000,"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000}] 2025-07-08 18:17:15.997 | INFO 7 | http-nio-48090-exec-3 [TID: N/A] com.alibaba.nacos.client.naming | [SUBSCRIBE-SERVICE] service:infra-server, group:DEFAULT_GROUP, clusters: 2025-07-08 18:17:16.005 | INFO 7 | http-nio-48090-exec-3 [TID: N/A] com.alibaba.nacos.client.naming | init new ips(1) service: DEFAULT_GROUP@@infra-server -> [{"instanceId":"172.20.0.4#48082#DEFAULT#DEFAULT_GROUP@@infra-server","ip":"172.20.0.4","port":48082,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@infra-server","metadata":{"management.endpoints.web.base-path":"/actuator","preserved.register.source":"SPRING_CLOUD","version":"1.0.0"},"instanceHeartBeatInterval":5000,"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000}] 2025-07-08 18:17:16.005 | INFO 7 | http-nio-48090-exec-3 [TID: N/A] com.alibaba.nacos.client.naming | current ips:(1) service: DEFAULT_GROUP@@infra-server -> [{"instanceId":"172.20.0.4#48082#DEFAULT#DEFAULT_GROUP@@infra-server","ip":"172.20.0.4","port":48082,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@infra-server","metadata":{"management.endpoints.web.base-path":"/actuator","preserved.register.source":"SPRING_CLOUD","version":"1.0.0"},"instanceHeartBeatInterval":5000,"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000}] 2025-07-08 18:17:16.019 | INFO 7 | http-nio-48090-exec-4 [TID: N/A] com.alibaba.nacos.client.naming | [SUBSCRIBE-SERVICE] service:clockin-server, group:DEFAULT_GROUP, clusters: 2025-07-08 18:17:16.024 | INFO 7 | http-nio-48090-exec-4 [TID: N/A] com.alibaba.nacos.client.naming | init new ips(1) service: DEFAULT_GROUP@@clockin-server -> [{"instanceId":"172.20.0.11#48095#DEFAULT#DEFAULT_GROUP@@clockin-server","ip":"172.20.0.11","port":48095,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@clockin-server","metadata":{"management.endpoints.web.base-path":"/actuator","tag":"b4c6ce14978b","preserved.register.source":"SPRING_CLOUD","version":"1.0.0"},"instanceHeartBeatInterval":5000,"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000}] 2025-07-08 18:17:16.025 | INFO 7 | http-nio-48090-exec-4 [TID: N/A] com.alibaba.nacos.client.naming | current ips:(1) service: DEFAULT_GROUP@@clockin-server -> [{"instanceId":"172.20.0.11#48095#DEFAULT#DEFAULT_GROUP@@clockin-server","ip":"172.20.0.11","port":48095,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@clockin-server","metadata":{"management.endpoints.web.base-path":"/actuator","tag":"b4c6ce14978b","preserved.register.source":"SPRING_CLOUD","version":"1.0.0"},"instanceHeartBeatInterval":5000,"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000}] 2025-07-08 18:17:16.080 | INFO 7 | http-nio-48090-exec-3 [TID: N/A] com.alibaba.nacos.client.naming | [SUBSCRIBE-SERVICE] service:device-server, group:DEFAULT_GROUP, clusters: 2025-07-08 18:17:16.085 | INFO 7 | http-nio-48090-exec-3 [TID: N/A] com.alibaba.nacos.client.naming | init new ips(1) service: DEFAULT_GROUP@@device-server -> [{"instanceId":"172.20.0.7#48087#DEFAULT#DEFAULT_GROUP@@device-server","ip":"172.20.0.7","port":48087,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@device-server","metadata":{"management.endpoints.web.base-path":"/actuator","tag":"f48bd8231c84","preserved.register.source":"SPRING_CLOUD","version":"1.0.0"},"instanceHeartBeatInterval":5000,"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000}] 2025-07-08 18:17:16.086 | INFO 7 | http-nio-48090-exec-3 [TID: N/A] com.alibaba.nacos.client.naming | current ips:(1) service: DEFAULT_GROUP@@device-server -> [{"instanceId":"172.20.0.7#48087#DEFAULT#DEFAULT_GROUP@@device-server","ip":"172.20.0.7","port":48087,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@device-server","metadata":{"management.endpoints.web.base-path":"/actuator","tag":"f48bd8231c84","preserved.register.source":"SPRING_CLOUD","version":"1.0.0"},"instanceHeartBeatInterval":5000,"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000}] 2025-07-08 18:17:16.280 | INFO 7 | nacos-grpc-client-executor-nacos-3 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Receive server push request, request = NotifySubscriberRequest, requestId = 1328 2025-07-08 18:17:16.280 | INFO 7 | nacos-grpc-client-executor-nacos-3 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Ack server push request, request = NotifySubscriberRequest, requestId = 1328 2025-07-08 18:17:16.542 | INFO 7 | pool-10-thread-1 [TID: N/A] c.i.y.f.b.core.BannerApplicationRunner | ---------------------------------------------------------- 项目启动成功! ---------------------------------------------------------- 2025-07-08 18:17:16.554 | INFO 7 | nacos-grpc-client-executor-nacos-4 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Receive server push request, request = NotifySubscriberRequest, requestId = 1329 2025-07-08 18:17:16.555 | INFO 7 | nacos-grpc-client-executor-nacos-4 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Ack server push request, request = NotifySubscriberRequest, requestId = 1329 2025-07-08 18:17:16.558 | INFO 7 | nacos-grpc-client-executor-nacos-5 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Receive server push request, request = NotifySubscriberRequest, requestId = 1330 2025-07-08 18:17:16.559 | INFO 7 | nacos-grpc-client-executor-nacos-5 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Ack server push request, request = NotifySubscriberRequest, requestId = 1330 2025-07-08 18:17:16.561 | INFO 7 | nacos-grpc-client-executor-nacos-6 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Receive server push request, request = NotifySubscriberRequest, requestId = 1331 2025-07-08 18:17:16.562 | INFO 7 | nacos-grpc-client-executor-nacos-6 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Ack server push request, request = NotifySubscriberRequest, requestId = 1331 2025-07-08 18:17:16.654 | INFO 7 | nacos-grpc-client-executor-nacos-7 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Receive server push request, request = NotifySubscriberRequest, requestId = 1332 2025-07-08 18:17:16.655 | INFO 7 | nacos-grpc-client-executor-nacos-7 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Ack server push request, request = NotifySubscriberRequest, requestId = 1332 2025-07-08 18:22:02.222 | INFO 7 | nacos-grpc-client-executor-nacos-130 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Receive server push request, request = NotifySubscriberRequest, requestId = 1333 2025-07-08 18:22:02.223 | INFO 7 | nacos-grpc-client-executor-nacos-130 [TID: N/A] com.alibaba.nacos.client.naming | removed ips(1) service: DEFAULT_GROUP@@device-server -> [{"instanceId":"172.20.0.7#48087#DEFAULT#DEFAULT_GROUP@@device-server","ip":"172.20.0.7","port":48087,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@device-server","metadata":{"management.endpoints.web.base-path":"/actuator","tag":"f48bd8231c84","preserved.register.source":"SPRING_CLOUD","version":"1.0.0"},"instanceHeartBeatInterval":5000,"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000}] 2025-07-08 18:22:02.223 | INFO 7 | nacos-grpc-client-executor-nacos-130 [TID: N/A] com.alibaba.nacos.client.naming | current ips:(0) service: DEFAULT_GROUP@@device-server -> [] 2025-07-08 18:22:02.224 | INFO 7 | nacos-grpc-client-executor-nacos-130 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Ack server push request, request = NotifySubscriberRequest, requestId = 1333 2025-07-08 18:22:27.768 | INFO 7 | nacos-grpc-client-executor-nacos-139 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Receive server push request, request = NotifySubscriberRequest, requestId = 1338 2025-07-08 18:22:27.769 | INFO 7 | nacos-grpc-client-executor-nacos-139 [TID: N/A] com.alibaba.nacos.client.naming | new ips(1) service: DEFAULT_GROUP@@device-server -> [{"instanceId":"172.20.0.7#48087#DEFAULT#DEFAULT_GROUP@@device-server","ip":"172.20.0.7","port":48087,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@device-server","metadata":{"management.endpoints.web.base-path":"/actuator","tag":"f48bd8231c84","preserved.register.source":"SPRING_CLOUD","version":"1.0.0"},"instanceHeartBeatInterval":5000,"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000}] 2025-07-08 18:22:27.769 | INFO 7 | nacos-grpc-client-executor-nacos-139 [TID: N/A] com.alibaba.nacos.client.naming | current ips:(1) service: DEFAULT_GROUP@@device-server -> [{"instanceId":"172.20.0.7#48087#DEFAULT#DEFAULT_GROUP@@device-server","ip":"172.20.0.7","port":48087,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@device-server","metadata":{"management.endpoints.web.base-path":"/actuator","tag":"f48bd8231c84","preserved.register.source":"SPRING_CLOUD","version":"1.0.0"},"instanceHeartBeatInterval":5000,"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000}] 2025-07-08 18:22:27.770 | INFO 7 | nacos-grpc-client-executor-nacos-139 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Ack server push request, request = NotifySubscriberRequest, requestId = 1338 2025-07-08 18:24:37.291 | INFO 7 | nacos-grpc-client-executor-nacos-186 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Receive server push request, request = NotifySubscriberRequest, requestId = 1345 2025-07-08 18:24:37.291 | INFO 7 | nacos-grpc-client-executor-nacos-186 [TID: N/A] com.alibaba.nacos.client.naming | removed ips(1) service: DEFAULT_GROUP@@infra-server -> [{"instanceId":"172.20.0.4#48082#DEFAULT#DEFAULT_GROUP@@infra-server","ip":"172.20.0.4","port":48082,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@infra-server","metadata":{"management.endpoints.web.base-path":"/actuator","preserved.register.source":"SPRING_CLOUD","version":"1.0.0"},"instanceHeartBeatInterval":5000,"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000}] 2025-07-08 18:24:37.292 | INFO 7 | nacos-grpc-client-executor-nacos-186 [TID: N/A] com.alibaba.nacos.client.naming | current ips:(0) service: DEFAULT_GROUP@@infra-server -> [] 2025-07-08 18:24:37.292 | INFO 7 | nacos-grpc-client-executor-nacos-186 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Ack server push request, request = NotifySubscriberRequest, requestId = 1345 2025-07-08 18:25:02.130 | INFO 7 | nacos-grpc-client-executor-nacos-194 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Receive server push request, request = NotifySubscriberRequest, requestId = 1351 2025-07-08 18:25:02.130 | INFO 7 | nacos-grpc-client-executor-nacos-194 [TID: N/A] com.alibaba.nacos.client.naming | new ips(1) service: DEFAULT_GROUP@@infra-server -> [{"instanceId":"172.20.0.4#48082#DEFAULT#DEFAULT_GROUP@@infra-server","ip":"172.20.0.4","port":48082,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@infra-server","metadata":{"management.endpoints.web.base-path":"/actuator","preserved.register.source":"SPRING_CLOUD","version":"1.0.0"},"instanceHeartBeatInterval":5000,"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000}] 2025-07-08 18:25:02.130 | INFO 7 | nacos-grpc-client-executor-nacos-194 [TID: N/A] com.alibaba.nacos.client.naming | current ips:(1) service: DEFAULT_GROUP@@infra-server -> [{"instanceId":"172.20.0.4#48082#DEFAULT#DEFAULT_GROUP@@infra-server","ip":"172.20.0.4","port":48082,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@infra-server","metadata":{"management.endpoints.web.base-path":"/actuator","preserved.register.source":"SPRING_CLOUD","version":"1.0.0"},"instanceHeartBeatInterval":5000,"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000}] 2025-07-08 18:25:02.131 | INFO 7 | nacos-grpc-client-executor-nacos-194 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Ack server push request, request = NotifySubscriberRequest, requestId = 1351 2025-07-08 18:26:47.827 | INFO 7 | nacos-grpc-client-executor-nacos-233 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Receive server push request, request = NotifySubscriberRequest, requestId = 1356 2025-07-08 18:26:47.828 | INFO 7 | nacos-grpc-client-executor-nacos-233 [TID: N/A] com.alibaba.nacos.client.naming | removed ips(1) service: DEFAULT_GROUP@@monitor-server -> [{"instanceId":"172.20.0.10#48088#DEFAULT#DEFAULT_GROUP@@monitor-server","ip":"172.20.0.10","port":48088,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@monitor-server","metadata":{"management.endpoints.web.base-path":"/actuator","tag":"79a483848885","preserved.register.source":"SPRING_CLOUD","version":"1.0.0"},"instanceHeartBeatInterval":5000,"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000}] 2025-07-08 18:26:47.828 | INFO 7 | nacos-grpc-client-executor-nacos-233 [TID: N/A] com.alibaba.nacos.client.naming | current ips:(0) service: DEFAULT_GROUP@@monitor-server -> [] 2025-07-08 18:26:47.829 | INFO 7 | nacos-grpc-client-executor-nacos-233 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Ack server push request, request = NotifySubscriberRequest, requestId = 1356 2025-07-08 18:27:15.075 | INFO 7 | nacos-grpc-client-executor-nacos-242 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Receive server push request, request = NotifySubscriberRequest, requestId = 1358 2025-07-08 18:27:15.075 | INFO 7 | nacos-grpc-client-executor-nacos-242 [TID: N/A] com.alibaba.nacos.client.naming | new ips(1) service: DEFAULT_GROUP@@monitor-server -> [{"instanceId":"172.20.0.10#48088#DEFAULT#DEFAULT_GROUP@@monitor-server","ip":"172.20.0.10","port":48088,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@monitor-server","metadata":{"management.endpoints.web.base-path":"/actuator","tag":"79a483848885","preserved.register.source":"SPRING_CLOUD","version":"1.0.0"},"instanceHeartBeatInterval":5000,"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000}] 2025-07-08 18:27:15.076 | INFO 7 | nacos-grpc-client-executor-nacos-242 [TID: N/A] com.alibaba.nacos.client.naming | current ips:(1) service: DEFAULT_GROUP@@monitor-server -> [{"instanceId":"172.20.0.10#48088#DEFAULT#DEFAULT_GROUP@@monitor-server","ip":"172.20.0.10","port":48088,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@monitor-server","metadata":{"management.endpoints.web.base-path":"/actuator","tag":"79a483848885","preserved.register.source":"SPRING_CLOUD","version":"1.0.0"},"instanceHeartBeatInterval":5000,"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000}] 2025-07-08 18:27:15.076 | INFO 7 | nacos-grpc-client-executor-nacos-242 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Ack server push request, request = NotifySubscriberRequest, requestId = 1358 2025-07-08 18:29:56.330 | INFO 7 | nacos-grpc-client-executor-nacos-303 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Receive server push request, request = NotifySubscriberRequest, requestId = 1366 2025-07-08 18:29:56.331 | INFO 7 | nacos-grpc-client-executor-nacos-303 [TID: N/A] com.alibaba.nacos.client.naming | removed ips(1) service: DEFAULT_GROUP@@system-server -> [{"instanceId":"172.20.0.12#48081#DEFAULT#DEFAULT_GROUP@@system-server","ip":"172.20.0.12","port":48081,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@system-server","metadata":{"management.endpoints.web.base-path":"/actuator","tag":"9f19841e8aac","preserved.register.source":"SPRING_CLOUD","version":"1.0.0"},"instanceHeartBeatInterval":5000,"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000}] 2025-07-08 18:29:56.331 | INFO 7 | nacos-grpc-client-executor-nacos-303 [TID: N/A] com.alibaba.nacos.client.naming | current ips:(0) service: DEFAULT_GROUP@@system-server -> [] 2025-07-08 18:29:56.595 | INFO 7 | nacos-grpc-client-executor-nacos-303 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Ack server push request, request = NotifySubscriberRequest, requestId = 1366 2025-07-08 18:30:27.088 | INFO 7 | nacos-grpc-client-executor-nacos-313 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Receive server push request, request = NotifySubscriberRequest, requestId = 1373 2025-07-08 18:30:27.088 | INFO 7 | nacos-grpc-client-executor-nacos-313 [TID: N/A] com.alibaba.nacos.client.naming | new ips(1) service: DEFAULT_GROUP@@system-server -> [{"instanceId":"172.20.0.12#48081#DEFAULT#DEFAULT_GROUP@@system-server","ip":"172.20.0.12","port":48081,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@system-server","metadata":{"management.endpoints.web.base-path":"/actuator","tag":"9f19841e8aac","preserved.register.source":"SPRING_CLOUD","version":"1.0.0"},"instanceHeartBeatInterval":5000,"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000}] 2025-07-08 18:30:27.088 | INFO 7 | nacos-grpc-client-executor-nacos-313 [TID: N/A] com.alibaba.nacos.client.naming | current ips:(1) service: DEFAULT_GROUP@@system-server -> [{"instanceId":"172.20.0.12#48081#DEFAULT#DEFAULT_GROUP@@system-server","ip":"172.20.0.12","port":48081,"weight":1.0,"healthy":true,"enabled":true,"ephemeral":true,"clusterName":"DEFAULT","serviceName":"DEFAULT_GROUP@@system-server","metadata":{"management.endpoints.web.base-path":"/actuator","tag":"9f19841e8aac","preserved.register.source":"SPRING_CLOUD","version":"1.0.0"},"instanceHeartBeatInterval":5000,"ipDeleteTimeout":30000,"instanceHeartBeatTimeOut":15000}] 2025-07-08 18:30:27.088 | INFO 7 | nacos-grpc-client-executor-nacos-313 [TID: N/A] com.alibaba.nacos.common.remote.client | [eaa3db5c-e65a-4822-8df1-21ebf50e776c] Ack server push request, request = NotifySubscriberRequest, requestId = 1373
07-09
### 分析 Nacos 客户端日志中的服务注册与发现行为 Nacos 是一个动态服务发现、配置管理和服务管理平台,广泛用于微服务架构中。分析 Nacos 客户端日志可以帮助识别服务注册和发现过程中的潜在问题,如网络延迟、服务实例异常下线、重复注册等。 #### 服务注册行为分析 在 Nacos 客户端日志中,服务注册通常涉及以下几个关键步骤:客户端向 Nacos 服务器发送注册请求、服务器返回注册结果、客户端定期发送心跳包以维持服务实例的存活状态。通过查看日志中的 `REGISTER-SUCCESS` 或 `HEARTBEAT-SUCCESS` 等关键字,可以确认服务实例是否成功注册并保持活跃状态。 ```java // 示例:Nacos 客户端日志中的服务注册成功记录 com.alibaba.nacos.client.naming - [main] INFO com.alibaba.nacos.client.naming.core.NamingClientProxyDelegate - REGISTER-SUCCESS: {"instance": "192.168.1.100:8080", "groupName": "DEFAULT_GROUP", "serviceName": "user-service"} ``` 如果日志中出现 `REGISTER-FAILED` 或 `HEARTBEAT-FAILED` 等错误信息,则表明服务注册或心跳检测过程中存在问题。常见的原因包括网络连接不稳定、Nacos 服务器故障、服务实例配置错误等。此时需要进一步检查网络状况、Nacos 服务器的日志以及服务实例的健康状态[^1]。 ```java // 示例:Nacos 客户端日志中的服务注册失败记录 com.alibaba.nacos.client.naming - [main] ERROR com.alibaba.nacos.client.naming.core.NamingClientProxyDelegate - REGISTER-FAILED: {"instance": "192.168.1.100:8080", "groupName": "DEFAULT_GROUP", "serviceName": "user-service", "error": "Connection refused"} ``` #### 服务发现行为分析 服务发现是指客户端从 Nacos 服务器获取已注册的服务实例列表的过程。在 Nacos 客户端日志中,可以通过查找 `DISCOVERY-SUCCESS` 或 `DISCOVERY-FAILED` 等关键字来判断服务发现是否成功。 ```java // 示例:Nacos 客户端日志中的服务发现成功记录 com.alibaba.nacos.client.naming - [main] INFO com.alibaba.nacos.client.naming.core.NamingClientProxyDelegate - DISCOVERY-SUCCESS: {"serviceName": "order-service", "instances": [{"ip": "192.168.1.101", "port": 8081}, {"ip": "192.168.1.102", "port": 8081}]} ``` 如果服务发现失败,日志中可能会包含 `NO-SERVICE-FOUND` 或 `TIMEOUT` 等错误信息,这可能意味着服务尚未注册、网络延迟过高或 Nacos 服务器响应缓慢。此时应检查服务注册状态、网络连通性以及 Nacos 服务器的性能指标。 ```java // 示例:Nacos 客户端日志中的服务发现失败记录 com.alibaba.nacos.client.naming - [main] ERROR com.alibaba.nacos.client.naming.core.NamingClientProxyDelegate - DISCOVERY-FAILED: {"serviceName": "order-service", "error": "No service found"} ``` #### 潜在问题及解决方案 1. **服务注册失败** - **原因**:网络连接问题、Nacos 服务器故障、服务实例配置错误。 - **解决方案**:检查网络连接、确保 Nacos 服务器正常运行、验证服务实例的配置文件(如 `application.properties`)是否正确。 2. **服务实例频繁上下线** - **原因**:心跳丢失、服务实例崩溃、负载过高。 - **解决方案**:优化服务实例的性能、增加心跳超时时间、监控服务实例的健康状态。 3. **服务发现失败** - **原因**:服务未注册、网络延迟、Nacos 服务器响应慢。 - **解决方案**:确认服务已正确注册、优化网络环境、调整 Nacos 服务器的配置参数。 4. **重复注册问题** - **原因**:服务实例多次启动、配置不当。 - **解决方案**:确保每个服务实例具有唯一的标识符、检查服务启动脚本是否重复执行。 5. **日志冗余过多** - **原因**:日志级别设置过低、不必要的调试信息。 - **解决方案**:调整日志级别为 `INFO` 或 `WARN`、过滤掉无关的日志条目。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值