当前位置: 首页 > news >正文

冯提莫斗鱼前在哪个网站做直播优化营商环境心得体会2023

冯提莫斗鱼前在哪个网站做直播,优化营商环境心得体会2023,哪些网站做推广比较好,小程序无代码开发平台文章目录Nacos详细使用操作文档(图文详细)1、安装2、Nacos作为注册中心2.1、Nacos服务注册【ICRMS】2.2、Nacos 服务调用2.2.1、Feign 远程调用【Personnel】2.2.2)、RestTemplateRibbon 远程调用【Personnel】3、Nacos作为配置中心4、Nacos 命令空间5、Nacos配置文件参数详解N…

文章目录

  • Nacos详细使用操作文档(图文详细)
    • 1、安装
    • 2、Nacos作为注册中心
      • 2.1、Nacos服务注册【ICRMS】
      • 2.2、Nacos 服务调用
        • 2.2.1、Feign 远程调用【Personnel】
        • 2.2.2)、RestTemplate+Ribbon 远程调用【Personnel】
    • 3、Nacos作为配置中心
    • 4、Nacos 命令空间
    • 5、Nacos配置文件参数详解

Nacos详细使用操作文档(图文详细)

1、安装

  • 官方链接: https://nacos.io/zh-cn/docs/what-is-nacos.html
  • 参考地址(单机版): https://blog.csdn.net/weixin_44187730/article/details/104263230
  • 参考地址(集群版): https://blog.csdn.net/weixin_44187730/article/details/104552937

2、Nacos作为注册中心

2.1、Nacos服务注册【ICRMS】

  • 1、导入服务发现功能的jar包
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
  • 2、开启服务注册发现功能
package com.moonpac.icrms.config;import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Configuration;/*** @Copyright (C), 2016-2022 MP* @ClassName: ICRMSCloudConfig* @Author: hf* @Date: 2022/9/4 16:07* @Description: ICRMS服务 -  关于Nacos配置-服务注册-服务发现-Feign远程调用*/
@Configuration
@EnableDiscoveryClient
@EnableFeignClients(basePackages = "com.moonpac.icrms.feign")
public class ICRMSCloudConfig {}
  • 3、编写bootstrap.yaml配置、指定Nacos的服务地址
spring:application:#服务名称name: aiops-icrmscloud:nacos:discovery:# 集群方式多个地址以,分割server-addr: 10.173.28.204:8848

2.2、Nacos 服务调用

2.2.1、Feign 远程调用【Personnel】

  • ①、导入feign进行远程调用功能
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
  • ②、消费端调用写法,声明式调用【声明调用接口】
package com.moonpac.personnel.feign;import com.moonpac.personnel.feign.fallback.ICRMSTestFeignServiceFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;import java.util.List;/*** @Copyright (C), 2016-2022 MP* @ClassName: ICRMSTestController* @Author: hf* @Date: 2022/9/4 16:27* @Description: ICRMS 测试Feign调用*/
@FeignClient(//指定服务名,nacos注册的服务名name = "aiops-icrms",//指定容错类-当远程调用失败时进入容错类中fallbackFactory = ICRMSTestFeignServiceFallbackFactory.class
)
//指定公共请求前缀
@RequestMapping("/icrms")
public interface ICRMSTestFeignService {@GetMapping("/list")List<String> list();
}
  • ③、Feign容错类
package com.moonpac.personnel.feign.fallback;import com.moonpac.personnel.feign.ICRMSTestFeignService;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;import java.util.Arrays;
import java.util.List;/*** @Copyright (C), 2016-2022 MP* @ClassName: ICRMSTestServiceFallbackFactory* @Author: hf* @Date: 2022/9/4 16:29* @Description: Feign 远程调用容错*/
@Service
@Slf4j
public class ICRMSTestFeignServiceFallbackFactory implements FallbackFactory<ICRMSTestFeignService> {@Overridepublic ICRMSTestFeignService create(Throwable throwable) {//捕获到异常throwable.printStackTrace();return new ICRMSTestFeignService() {//捕获到异常@Overridepublic List<String> list() {return Arrays.asList("Feign远程调用报错了...","错了");}};}
}
  • ④、配置类
package com.moonpac.personnel.config;import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Configuration;/*** @Copyright (C), 2016-2022 MP* @ClassName: PersonnelCloudConfig* @Author: hf* @Date: 2022/9/4 16:23* @Description: Personnel服务关于Nacos配置-服务注册-服务发现-Feign远程调用*/
@Configuration
@EnableDiscoveryClient
@EnableFeignClients(basePackages = "com.moonpac.personnel.feign")
public class PersonnelCloudConfig {}
  • ⑤、controller写法
package com.moonpac.personnel.controller;import com.moonpac.personnel.feign.ICRMSTestFeignService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;/*** @Copyright (C), 2016-2022 MP* @ClassName: PersonnelFeignController* @Author: hf* @Date: 2022/9/4 16:43* @Description: Feign 远程调用服务*/
@Slf4j
@RestController
@RequestMapping("/personnel")
@RequiredArgsConstructor
public class PersonnelFeignController {private final ICRMSTestFeignService icrmsTestFeignService;@GetMapping("/list")public Object list() {//远程调用开始,即将通过Feign 远程调用接口log.info("远程调用开始,即将通过Feign 远程调用其它服务接口...");return icrmsTestFeignService.list();}}
  • ⑥、调用效果

在这里插入图片描述

2.2.2)、RestTemplate+Ribbon 远程调用【Personnel】

  • ① 配置类
package com.moonpac.personnel.config;import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;/*** @Copyright (C), 2016-2022 MP* @ClassName: PersonnelRestTemplateConfig* @Author: hf* @Date: 2022/9/4 16:59* @Description: Personnel 用户中心服务 RestTemplate配置*/
@Configuration
public class PersonnelRestTemplateConfig {@LoadBalanced@Beanpublic RestTemplate restTemplate() {return new RestTemplate();}
}
  • ② controller写法
package com.moonpac.personnel.controller;import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;/*** @Copyright (C), 2016-2022 MP* @ClassName: PersonnelTemplateController* @Author: hf* @Date: 2022/9/4 16:43* @Description: RestTemplate 远程调用服务*/
@Slf4j
@RestController
@RequestMapping("/personnel/template")
@RequiredArgsConstructor
public class PersonnelTemplateController {private static final String ICRMS_SERVER_ADDR = "http://aiops-icrms";private final RestTemplate restTemplate;@ApiOperation("RestTemplate 测试调用")@GetMapping("/list")public Object list() {log.info("RestTemplate 测试远程调用.....");return restTemplate.getForEntity(ICRMS_SERVER_ADDR + "/icrms/list", Object.class);}}
  • ③、调用效果

在这里插入图片描述

3、Nacos作为配置中心

配置中心:
集中管理配置、配置动态更新、回滚配置…

  • 1、导入服务发现功能的jar包
<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
  • 2、创建一个bootstrap.yaml或bootstrap.properties必须叫此名称
    • SpringBoot默认规则,bootstrap.yaml里面的配置优先于application.yaml配置。
#Nacos 配置中心配置
spring:application:name: aiops-personnelcloud:nacos:config:# nacos 地址server-addr: 10.173.28.204:8848
  • 3、默认配置规则
    • dataId: 配置文件名 .properties或.yaml
    • prefix−{prefix}-prefix{spring.profile.active}.${file-extension}
    • 前缀-当前环境.文件扩展名
      • prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
      • spring.profile.active 即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当 spring.profile.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 prefix.{prefix}.prefix.{file-extension}
      • file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。

aiops-icrms.properties aiops-icrms.yaml
总结: 只需要给Nacos中创建一个dataId名称叫做 当前项目名.properties 当前项目名.yaml

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UDBXHlaq-1676619824775)(./images/nacos/604EF494-59ED-4b33-9C22-DC40E94397D0.png)]

  • 4、开启域刷新动态获取配置,实例代码
package com.moonpac.personnel.controller;import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.HashMap;/*** @Copyright (C), 2016-2022 MP* @ClassName: PersonnelParamsConfig* @Author: hf* @Date: 2022/9/4 17:16* @Description:*/
@Slf4j
@RestController
@RequestMapping("/personnel/params")
@RequiredArgsConstructor
//开启域动态刷新主类配置
@RefreshScope
public class PersonnelParamsConfigController {@Value("${personnel.version:11}")private String personnelVersion;@Value("${personnel.content:11}")private String personnelContent;@ApiOperation("Nacos配置中心测试")@GetMapping("/getParams")public Object getP() {HashMap<Object, Object> hashMap = new HashMap<>(3);hashMap.put("content", personnelContent);hashMap.put("version", personnelVersion);return hashMap;}}
  • 5、所有的配置信息都可以写到Nacos中。

4、Nacos 命令空间

  • 1、Nacos命名空间概念
    • 命名空间:主要用于区分不同环境。
    • 默认情况,本项目在public下找 项目名.properties文件 项目名.yaml
    • Nacos组: 可以区分不同业务,不同业务不同组。

最佳实践:
使用namespace来区分不同的服务【每个服务都有自己的名称空间】。
使用Group来区分不同环境【dev,prod,test】

命令空间配置

  • 2、配置命名空间
#Nacos 配置中心配置
spring:application:name: aiops-personnelcloud:nacos:config:# nacos 地址server-addr: 10.173.28.204:8848# 设置默认的文件类型file-extension: yaml# 设置命名空间--此处填写的是ID  重要!!!# 设置命名空间--此处填写的是ID  重要!!!# 设置命名空间--此处填写的是ID  重要!!!namespace: 9dbdfc95-0174-49bd-9c2a-bc276ca41ecc
  • 3、Nacos添加管理配置文件

命令空间配置

  • 4、加载使用配置
#Nacos 配置中心配置
spring:application:name: aiops-personnelcloud:nacos:config:# nacos 地址server-addr: 10.173.28.204:8848# 设置默认的文件类型file-extension: yaml# 设置命名空间--此处填写的是ID  重要!!!namespace: 9dbdfc95-0174-49bd-9c2a-bc276ca41eccextension-configs:# 批量加载配置文件- {dataId: "application-monitor.yaml",group: "DEV",refresh: true}- {dataId: "application-logback.yaml",group: "DEV",refresh: true}- {dataId: "application-sentinel.yaml",group: "DEV",refresh: true}- {dataId: "application-zipkin.yaml",group: "DEV",refresh: true}

5、Nacos配置文件参数详解

  • 参考链接: https://blog.csdn.net/qq_40309050/article/details/124325382
http://www.yayakq.cn/news/725266/

相关文章:

  • 黄山景区的网站做的怎么样微信商城开发商华网天下优秀
  • 在市场部做网站多少工资网站集约化建设存在的困难
  • 盐城网站关键词优化wordpress 创建招生网
  • 现在搭建一个网站需要多少钱做网站的为什么不给域名和密码
  • 深圳专业专业网站设计公司新华seo推广
  • 做跨境电商如何自建站wordpress audio player 下载
  • 做网站教程如乐列表网免费发布信息
  • 广州做外贸网站多少钱杭州seo托管公司推荐
  • 库易网网站重庆建设工程信息网最新网站
  • 找人做网站毕业设计个人能接做网站的活么
  • 公众号建设成小说网站公司建立网站青岛电话
  • 幼儿教育网站源码中英文网站建设费用
  • 智能网站建设平台北京网站建设公司有哪些
  • 合肥网站开发互联网企业公司
  • 甘特图模板关于网站建设企业网站开发技术期末试题
  • jsp网站建设项目实战电子版商务网站专题页
  • 企业如何注册自己的网站dede和wordpress
  • 郑州公司企业网站建设搭建wordpress环境
  • 网站大致内容网站运作流程
  • 网站建设不力 被问责wordpress 表单 验证码
  • 网站建设职位要求做网店有哪些拿货网站
  • 南昌知名网站建设公司做网站后台系统的规范
  • 做热处理工艺的网站有哪些湛江电子商务网站建设
  • 网站建设制作免费咨询网站建设基本流程信息技术
  • app网站开发成功案例wordpress搜索增加条件
  • 企业网站建设大概多少钱个人个性网页界面设计
  • 有什么做任务拿钱的网站山东又一地检测阳性
  • 网站建设工作基本流程中学生制作的网站
  • 网站通内容管理系统金融理财网站建设
  • 做网站要那些工具企业如何申请网址