贵阳哪里做网站/seo排名点击手机

贵阳哪里做网站,seo排名点击手机,电子商务网站开发实训,如何在电网网站做备案1. Nacos安装(黑马教程安装材料) 1.1 Windows安装 开发阶段采用单机安装即可。 1.1.1 下载安装包 在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码: GitHub主页:https://gith…

1. Nacos安装(黑马教程安装材料)


1.1 Windows安装
开发阶段采用单机安装即可。

1.1.1 下载安装包


在Nacos的GitHub页面,提供有下载链接,可以下载编译好的Nacos服务端或者源代码:

GitHub主页:https://github.com/alibaba/nacos

GitHub的Release下载页:https://github.com/alibaba/nacos/releases

如图:
在这里插入图片描述

课程采用1.4.1.版本的Nacos
windows版本使用nacos-server-1.4.1.zip包即可。

1.1.2 解压

将这个包解压到任意非中文目录下,如图:
在这里插入图片描述
目录说明:

  • bin:启动脚本
  • conf:配置文件
  • 1.1.3 端口配置

    Nacos的默认端口是8848,如果你电脑上的其它进程占用了8848端口,请先尝试关闭该进程。

    如果无法关闭占用8848端口的进程,也可以进入nacos的conf目录,修改配置文件中的端口:
    在这里插入图片描述
    修改其中的内容:

在这里插入图片描述

1.1.4 启动

进入bin目录,结构如下:
在这里插入图片描述
然后执行命令即可:

  • windows命令:

  startup.cmd -m standalone

执行后的效果如图:
在这里插入图片描述

1.1.5 访问

在浏览器输入地址:http://127.0.0.1:8848/nacos即可:
在这里插入图片描述

默认的账号和密码都是nacos,进入后:
在这里插入图片描述

1.2 Linux安装

Linux或者Mac安装方式与Windows类似。

1.2.1 安装JDK

Nacos依赖于JDK运行,索引Linux上也需要安装JDK才行。

上传jdk安装包:

在这里插入图片描述
上传到某个目录,例如:/usr/local/
然后解压缩:

tar -xvf jdk-8u144-linux-x64.tar.gz

 然后重命名为java
配置环境变量:

export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin

设置环境变量:

source /etc/profile 

1.2.2 上传安装包

如图:
在这里插入图片描述

也可以直接使用课前资料中的tar.gz:
在这里插入图片描述

上传到Linux服务器的某个目录,例如/usr/local/src目录下:

在这里插入图片描述

1.2.3 解压

命令解压缩安装包:

tar -xvf nacos-server-1.4.1.tar.gz

然后删除安装包:

rm -rf nacos-server-1.4.1.tar.gz 

目录中最终样式:
在这里插入图片描述

目录内部:
在这里插入图片描述

1.2.4 端口配置

与windows中类似

1.2.5 启动

在nacos/bin目录中,输入命令启动Nacos:

sh startup.sh -m standalone

2. 父子工程注册服务到Nacos

  1. 在cloud-demo父工程中添加spring-cloud-alilbaba的管理依赖:

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-alibaba-dependencies</artifactId>
    <version>2.2.5.RELEASE</version>
    <type>pom</type>
    <scope>import</scope>
</dependency>

 2.注释掉order-service和user-service中原有的eureka依赖。

3.添加nacos的客户端依赖:

<!-- nacos客户端依赖包 -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency> 

4.修改user-service&order-service中的application.yml文件,注释eureka地址,添加nacos地址:

 spring:
  cloud:
    nacos:
      server-addr: nacos:8848 # nacos服务地址

3. Nacos集群

3.1 设置实例的集群属性

修改application.yml文件

spring:
  cloud:
    nacos:
      discovery:
        cluster-name:  fuzhou

3.2 根据集群负载均衡

配置优先选择同集群服务(提供者与消费者都需要配置1.4.1的集群属性,才可以识别到同集群)

userservice:
  ribbon:
    NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule  # 负载均衡规则
 

3.3 加权负载均衡

  1. Nacos控制台可以设置实例的权重值0~1之间
  2. 同集群内的多个实例,权重越高被访问的频率越高
  3. 权重设置为0则完全不会被访问
    在这里插入图片描述
    在这里插入图片描述

4. Nacos环境隔离-namespace

4.1 概念

在这里插入图片描述
namespace(命名空间)–》 group(分组)—》 service/Data (服务存储或者数据存储)–》 集群—》 实例

4.2 新建命名空间

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
将服务调整到新的命名空间

spring:
  cloud:
    nacos:
      discovery:
        namespace: 4d6ce343-9e1b-44df-a90f-2cf2b6b3d177 # dev环境,填写的是id,不是空间名称
        ephemeral: false # 是否是临时实例
 

4.3 实例

在这里插入图片描述

4.3.1 临时实例

主动发起心跳数据给Nacos,与Eureka一致,默认30s一次,心跳异常则移除实例

4.3.2 非临时实例

Nacos主动发起心跳检查,出现问题不移除实例,标记为不健康实例,等待实例回复

5. Nacos与Eureka区别

5.1 Nacos与eureka的共同点

都支持服务注册和服务拉取


都支持服务提供者心跳方式做健康检测


5.2 Nacos与Eureka的区别

Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式
临时实例心跳不正常会被剔除,非临时实例则不会被剔除


Nacos支持服务列表变更的消息推送模式,服务列表更新更及时


Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式;Eureka采用AP方式

6. Nacos配置中心

6.1 统一配置管理

  1. 配置更改热更新
  2. 多环境配置共享
6.1.1 nacos统一配置添加方式

在这里插入图片描述

6.1.2 项目获取配置文件流程

bootstrap.yml读取顺序在application.yml前面,所以,nacos的配置信息应该在bootstrap.yml
在这里插入图片描述

6.1.3 项目配置nacos统一配置中心
  1. 在Nacos中添加配置文件
  2. 在微服务中引入nacos的config依赖
  3. 在微服务中添加bootstrap.yml,配置nacos地址、当前环境、服务名称、文件后缀名。这些决定了程序启动时去nacos读取哪个文件

6.1.3.1 引入Nacos的配置管理客户端依赖

     <!--nacos配置管理依赖-->
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>
            spring-cloud-starter-alibaba-nacos-config
        </artifactId>
    </dependency>

6.1.3.2 在userservice中的resource目录添加一个bootstrap.yml文件,这个文件是引导文件,优先级高于application.yml 

spring:
  application:
    name: userservice
  profiles:
    active: dev # 环境
  cloud:
    nacos:
      server-addr: localhost:8848 # nacos地址
      config:
        file-extension: yaml # 文件后缀名
 

6.1.3.2 在user-service中将pattern.dateformat这个属性注入到UserController中做测试 

     @NacosValue("${pattern.dateformat}")
     private String dateformat;
     
     @GetMapping("now")
     public String now(){
         return LocalDateTime.now().format(DateTimeFormatter.ofPattern(dateformat));
     }
 

6.1.4 项目配置热更新

Nacos中的配置文件变更后,微服务无需重启就可以感知。

6.1.4.1 方式一:在@Value注入的变量所在类上添加注解@RefreshScope

在这里插入图片描述

6.1.4.2 方式二:使用@ConfigurationProperties注解

package cn.itcast.user.config;import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;@Data
@Component
//Component指定了这个类会被Spring容器托管,并且会创建一个bean对象,对象名就是类名首字母小写,能被其他对象发现使用
@ConfigurationProperties(prefix = "pattern")
//prefix属性指定了配置文件中哪个下面的所有属性都能映射到该类中,映射方式为prefix拼接名称,如 pattern.dateformat
public class PatternProperties {private String dateformat;private String envSharedValue;private String name;
}

6.1.5 总结

热更新的两个方式

  • 通过@Value注解注入,结合@RefreshScope来刷新
  • 通过@ConfigurationProperties注入,自动刷新
  • 注意事项:
  • 不是所有的配置都适合放到配置中心,维护起来比较麻烦
  • 建议将一些关键参数,需要运行时调整的参数放到nacos配置中心,一般都是自定义配置

6.2 多环境配置共享

微服务启动时会从nacos读取多个配置文件:

  • [spring.application.name]-[spring.profiles.active].yaml,例如:userservice-dev.yaml
  • [spring.application.name].yaml,例如:userservice.yaml  无论profile如何变化,[spring.application.name].yaml这个文件一定会加载,因此多环境共享配置可以写入这个文件
  • 在这里插入图片描述
6.2.1 多种配置的优先级

在这里插入图片描述

6.2.2 总结

微服务会从nacos读取的配置文件:

  • [服务名]-[spring.profile.active].yaml,环境配置
  • [服务名].yaml,默认配置,多环境共享
    优先级:
    [服务名]-[环境].yaml >[服务名].yaml > 本地配置

6.2 Nacos集群

6.2.1 官方集群案例图

在这里插入图片描述
其中包含3个nacos节点,然后一个负载均衡器代理3个Nacos。这里负载均衡器可以使用nginx。
所以集群结构可以调整为:
在这里插入图片描述

6.2.2 搭建集群

搭建集群的基本步骤:

  • 搭建数据库,初始化数据库表结构
  • 下载nacos安装包
  • 配置nacos
  • 启动nacos集群
  • nginx反向代理

6.2.2.1 初始化数据库


Nacos默认数据存储在内嵌数据库Derby中,不属于生产可用的数据库。
官方推荐的最佳实践是使用带有主从的高可用数据库集群,主从模式的高可用数据库可以参考传智教育的后续高手课程。
这里以单点的数据库为例。
首先新建一个数据库,命名为nacos,而后导入下面的SQL:

CREATE TABLE `config_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(255) DEFAULT NULL,
  `content` longtext NOT NULL COMMENT 'content',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
  `app_name` varchar(128) DEFAULT NULL,
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',
  `c_desc` varchar(256) DEFAULT NULL,
  `c_use` varchar(64) DEFAULT NULL,
  `effect` varchar(64) DEFAULT NULL,
  `type` varchar(64) DEFAULT NULL,
  `c_schema` text,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';

6.2.2.2 下载nacos

nacos在GitHub上有下载地址:nacos,可以选择任意版本下载。

6.2.2.3 配置nacos

将这个包解压到任意非中文目录下,如图:
在这里插入图片描述
目录说明:

  • bin:启动脚本
  • conf:配置文件

进入nacos的conf目录,修改配置文件cluster.conf.example,重命名为cluster.conf:
在这里插入图片描述
然后添加内容:

127.0.0.1:8845
127.0.0.1.8846
127.0.0.1.8847
 

然后修改application.properties文件,添加数据库配置 

spring.datasource.platform=mysql

db.num=1

db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=123

6.2.2.4 启动nacos


将nacos文件夹复制三份,分别命名为:nacos1、nacos2、nacos3
然后分别修改三个文件夹中的application.properties,

nacos1:

server.port=8845


nacos2:

server.port=8846


nacos3:

server.port=8847


然后分别启动三个nacos节点:

startup.cmd


6.2.2.5 nginx反向代理


修改conf/nginx.conf文件,配置如下:

upstream nacos-cluster {
    server 127.0.0.1:8845;
    server 127.0.0.1:8846;
    server 127.0.0.1:8847;
}

server {
    listen       80;
    server_name  localhost;

    location /nacos {
        proxy_pass http://nacos-cluster;
    }
}
 

而后在浏览器访问:http://localhost/nacos即可。
代码中application.yml文件配置如下:

spring:
  cloud:
    nacos:
      server-addr: localhost:80 # Nacos地址
 

6.2.2.6 优化
  • 实际部署时,需要给做反向代理的nginx服务器设置一个域名,这样后续如果有服务器迁移nacos的客户端也无需更改配置.

  • Nacos的各个节点应该部署到多个不同服务器,做好容灾和隔离

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/59419.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通过投毒Bingbot索引挖掘必应中的存储型XSS

简介 在本文中&#xff0c;我将讨论如何通过从外部网站对Bingbot进行投毒&#xff0c;来在Bing.com上实现持久性XSS攻击。 什么是存储型或持久性XSS&#xff1f;存储型攻击指的是将恶意脚本永久存储在目标服务器上&#xff0c;例如数据库、论坛、访问日志、评论栏等。受害者在…

【Pikachu】File Inclusion文件包含实战

永远也不要忘记能够笑的坚强&#xff0c;就算受伤&#xff0c;我也从不彷徨。 1.File Inclusion(文件包含漏洞)概述 File Inclusion(文件包含漏洞)概述 文件包含&#xff0c;是一个功能。在各种开发语言中都提供了内置的文件包含函数&#xff0c;其可以使开发人员在一个代码…

Stored procedures in PostgreSQL

select 存储过程&#xff0c;在现了解的情况&#xff0c;还是没有mysql,sqlserver等好写好用。 --postgreSQL 11.0 以下版本 create or replace FUNCTION procInsertSchool (pSchoolId Char(5),pSchoolName VarChar(100),pSchoolTelNo VarChar(8) ) RETURNS void language plp…

Java:JVM

1.JVM内存区域的划分 一个Java写的程序跑起来,就得到了一个Java进程 JVM 上面运行的字节码指令; 进程:操作系统资源分配的基本单位; 内存区域的划分: 1.程序计数器 在内存空间里(比较小的空间),保存了下一个要执行的指令的内存地址(元数据区的地址); 这里的"下一条…

Overleaf数学符号乱码等问题

Overleaf使用XeLatex编译时&#xff0c;公式中数学符号非法显示&#xff0c;如下图&#xff0c;属于∈符号显示错误&#xff1a; 原因&#xff1a;一般是文内中文引起的&#xff0c;警惕是否有中文标点等。 XeLatex编译图片标题是中文 原因&#xff1a;用了UTF-8编码&#x…

【MySQL 保姆级教学】事务的隔离级别(详细)--下(13)

事务的隔离级别 1. 如何理解事务的隔离性2. 事务隔离级别的分类3. 查看和设置事务隔离级别3.1 全局和会话隔离级别3.2 查看和设置隔离级别 4. 事务隔离级别的演示4.1 读未提交&#xff08;Read Uncommitted&#xff09;4.2 读已提交&#xff08;Read Committed&#xff09;4.3 …

响应式网页设计--html

一&#xff0c;HTML 文档的基本结构 一个典型的 HTML 文档包含了几个主要部分&#xff0c;基本结构如下(本文以下出现的所有代码都可以套入下面示例进行测试)&#xff1a; <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8&q…

ANDROIDWORLD: A Dynamic Benchmarking Environment for Autonomous Agents论文学习

这个任务是基于androidenv的。这个环境之前学过&#xff0c;是一个用来进行强化学习的线上环境。而这篇文章的工作就是要给一些任务加上中间的奖励信号。这种训练环境的优点就是动态&#xff0c;与静态的数据集&#xff08;比如说我自己的工作&#xff09;不同&#xff0c;因此…

从0开始学习机器学习--Day24--核函数

核函数(Kernelsl function) 非线性数据的决策边界 对于非线性问题来说&#xff0c;决策边界在很多时候都是曲线&#xff0c;需要我们在假设函数中加入高阶多项式来拟合原始数据&#xff0c;这对于算法来说需要很长的运行时间去计算这些高阶多项式&#xff0c;那么有没有更高效…

charles简单使用

一、安装&配置 1、安装 通过官网下载稳定版的charles。 说明&#xff1a;官网下载也可以免费使用&#xff0c;不用到处找破解版&#xff0c;还不安全。官网下载的也能用半小时&#xff0c;然后重启一下还能继续用。如果有钱就买个服务&#xff0c;如果不原因花钱就动一动…

VMware和CentOS 7.6 Linux操作系统的安装使用

1. 安装VMware 安装VMware之前&#xff0c;有些电脑是需要去BIOS里修改设置开启cpu虚拟化设备支持才能安装。如果运气不好在安装过程中安装不了的话就自行百度吧。 打开 VMware 的官网: https://www.vmware.com/ 点击 product&#xff0c;往下滑找到 see desktop hypeerviso…

OCP证书如何下载?

访问Oracle CertView网站&#xff1a; 打开网址 https://certview.oracle.com/ &#xff0c;这是Oracle官方提供的证书查询平台 。 登录账号&#xff1a; 使用您的Oracle账号和密码登录CertView。如果您不记得密码&#xff0c;可以通过注册账号时预留的邮箱重置密码 。 查看成…

将vscode的终端改为cygwin terminal

现在终端是默认的power shell&#xff0c;没有显示cygwin 接下来选择默认配置文件 找到cygwin的选项即可 然后提示可能不安全什么的&#xff0c;点是&#xff0c;就有了

html+js+css实现拖拽式便签留言

前些日子在网上冲浪时&#xff0c;看到一个便签式留言墙&#xff0c;让人耳目一新。心想这个看着不错&#xff0c;额想要。于是便开始搜寻是否有相应开源插件&#xff0c;想将其引入自己的博客中。但是搜寻了一圈&#xff0c;都没有符合预期的,要么功能不符合。有的功能符合&am…

C++入门基础知识147—【关于C++ 一元运算符重载】

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///C爱好者&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于C 一元运算符重载的相关内容&#xff0…

2022年蓝桥杯JavaB组 省赛 题目解析(含AC_Code)

目录 前言&#xff08;必读&#xff09;第一题&#xff1a;星期计算 &#xff08;简单&#xff09;问题描述思路AC代码总结 第二题 山 &#xff08;简单&#xff09;问题描述题目分析山形数定义解题思路代码实现解析代码详解回文和“山形”判断函数主函数 AC代码复杂度分析 总结…

NLP论文速读(微软出品)|使用GPT-4进行指令微调(Instruction Tuning with GPT-4)

论文速读|Instruction Tuning with GPT-4 论文信息&#xff1a; 简介&#xff1a; 这篇论文试图解决的问题是如何通过指令调优&#xff08;instruction-tuning&#xff09;提升大型语言模型&#xff08;LLMs&#xff09;在执行新任务时的零样本&#xff08;zero-shot&#xff0…

C++20 概念与约束(3)—— 约束的进阶用法

《C20 概念与约束&#xff08;1&#xff09;—— SFINAE》 《C20 概念与约束&#xff08;2&#xff09;—— 初识概念与约束》 ●《C20 概念与约束&#xff08;3&#xff09;—— 约束的进阶用法》 1、再谈约束主句与从句 上一篇文章中提到过约束可以无限嵌套。末尾也提到不…

c#使用COM接口设置excel单元格宽高匹配图片,如何计算?

c#使用COM接口设置excel单元格宽高如何换算 在实际工作中&#xff0c;经常需要在excel中插入图片。并设置单元格与图片对齐。但是excel单元格的宽度和高度使用不同的单位。单元格的宽度以字符宽度为单位&#xff0c;而高度以点为单位。如果按照实际值来设置&#xff0c;例如设…

【activiti工作流源码集成】springboot+activiti+mysql+vue+redis工作流审批流集成整合业务绑定表单流程图会签驳回

工作流集成实际项目案例&#xff0c;demo提供 源码获取方式&#xff1a;本文末个人名片直接获取。 前言 activiti工作流引擎项目&#xff0c;企业erp、oa、hr、crm等企事业办公系统轻松落地&#xff0c;请假审批demo从流程绘制到审批结束实例。 一、项目形式 springbootvue…