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

网站免费响应建设手机上的编程软件

网站免费响应建设,手机上的编程软件,看守所加强自身网站建设工作,net网站开发实例服务背景 Nacos作为阿里巴巴开源的动态服务发现与配置管理平台,已成为现代微服务架构的核心基础设施。在金融、电商等对可用性要求极高的场景中,单点部署的Nacos服务无法满足生产需求。某互联网金融平台采用Spring Cloud微服务架构,日均服务…

服务背景

Nacos作为阿里巴巴开源的动态服务发现与配置管理平台,已成为现代微服务架构的核心基础设施。在金融、电商等对可用性要求极高的场景中,单点部署的Nacos服务无法满足生产需求。某互联网金融平台采用Spring Cloud微服务架构,日均服务调用量超过1亿次,配置变更频率达2000次/分钟,需构建高可用Nacos集群保障服务发现实时性与配置推送可靠性。


典型报错与解决方案


1. 集群节点无法通信

报错信息

2023-05-18 15:23:45,678 ERROR [com.alibaba.nacos.consistency] AP protocol failed to start server: 
java.net.BindException: Address already in use

现场排查

# 检查端口占用情况
[root@nacos-node1 ~]# ss -ntlp | grep 7848
LISTEN 0      100       0.0.0.0:7848      0.0.0.0:*    users:(("java",pid=11234,fd=129))# 查看进程信息
[root@nacos-node1 ~]# ps aux | grep 11234
nacos   11234  153  4.3 5723456 892344 ?     Ssl  May18 120:45 /usr/local/nacos/jdk/bin/java -Dserver.port=7848 ...

原因分析
Raft协议端口(默认7848)被其他进程占用,导致集群节点间无法建立通信。

解决方案

  1. 释放被占端口或修改Nacos集群端口:

# 修改conf/application.properties
server.port=8848
nacos.core.protocol.raft.data.port=17848
  1. 同步修改所有节点的cluster.conf

# 所有节点执行
echo "nacos-node1:17848" >> /usr/local/nacos/conf/cluster.conf
echo "nacos-node2:17848" >> /usr/local/nacos/conf/cluster.conf
echo "nacos-node3:17848" >> /usr/local/nacos/conf/cluster.conf
  1. 重启集群服务:

# 依次在每个节点执行
/usr/local/nacos/bin/shutdown.sh
/usr/local/nacos/bin/startup.sh -p embedded

2. MySQL连接池耗尽

报错信息

2023-05-18 16:45:12,345 ERROR [com.alibaba.nacos.config.server.service.datasource.ExternalDataSourceServiceImpl] 
init datasource error, url: jdbc:mysql://10.0.1.100:3306/nacos?useUnicode=true&characterEncoding=utf8

数据库端验证

-- 登录MySQL检查连接数
mysql> SHOW STATUS LIKE 'Threads_connected';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| Threads_connected | 298   |  # 接近max_connections(300)
+-------------------+-------+-- 查看活跃连接来源
mysql> SELECT user,host,db,command,time FROM information_schema.processlist WHERE db='nacos';
+------+-------------+-------+---------+------+
| user | host        | db    | command | time |
+------+-------------+-------+---------+------+
| nacos| 10.0.2.%    | nacos | Sleep   | 230  |
| nacos| 10.0.2.%    | nacos | Sleep   | 195  |
...  # 大量空闲连接未释放

优化方案

  1. 调整数据库连接池配置:

# 修改conf/application.properties
db.pool.config.maxActive=50
db.pool.config.maxIdle=10
db.pool.config.minIdle=5
  1. 配置MySQL自动断开空闲连接:

# MySQL配置文件my.cnf
[mysqld]
wait_timeout = 600
interactive_timeout = 600
  1. 重启服务并验证:

# 观察连接数变化
mysql> SHOW STATUS LIKE '%onn%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| Max_used_connections     | 62    |  # 连接数显著下降
| Threads_connected        | 58    |
+--------------------------+-------+

3. VIP漂移异常

报错现象
客户端访问10.0.0.66:18848间歇性失败,Keepalived日志显示:

May 18 17:30:23 node1 Keepalived_vrrp[11234]: VRRP_Instance(VI_1) ignoring received advertisment...

网络层排查

# 检查ARP缓存
[root@client ~]# arp -n | grep 10.0.0.66
10.0.0.66             ether 52:54:00:12:34:56   C                     eth0# 触发VIP切换后观察MAC变化
[root@client ~]# ping 10.0.0.66 -c 3 && arp -n | grep 66
PING 10.0.0.66 (10.0.0.66) 56(84) bytes of data.
64 bytes from 10.0.0.66: icmp_seq=1 ttl=64 time=0.234 ms
...
10.0.0.66             ether 52:54:00:ab:cd:ef   C                     eth0  # MAC发生变化

根本原因
多节点配置nopreempt参数导致主节点故障恢复后无法夺回VIP,产生"脑裂"现象。

修复步骤

  1. 统一Keepalived配置:

# 所有节点/etc/keepalived/keepalived.confvrrp_instance VI_1 {...state BACKUP           # 所有节点设为BACKUPpriority 100           # 根据节点性能设置不同优先级nopreempt              # 仅在一个节点保留此配置...
}
配置VRRP单播通信:#### 主节点配置
unicast_src_ip 10.0.0.91
unicast_peer {10.0.0.9210.0.0.93
}
验证VIP切换:# 在主节点停止Keepalived
[root@node1 ~]# systemctl stop keepalived# 在备节点查看VIP绑定
[root@node2 ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000inet 10.0.0.92/24 brd 10.0.0.255 scope global eth0valid_lft forever preferred_lft foreverinet 10.0.0.66/32 scope global eth0  # VIP已漂移到node2valid_lft forever preferred_lft forever

Nacos 集群部署及高可用实践

前言

在微服务架构中,配置管理和服务发现是至关重要的。Nacos 作为一款开源的动态配置和服务发现工具,能够帮助我们实现这些功能。本文将详细介绍如何部署 Nacos 集群,并结合 HAProxy 和 Keepalived 实现高可用。

环境准备

  • 三台服务器(10.0.0.91、10.0.0.92、10.0.0.93)

  • 操作系统:Linux

  • Java 环境

  • Nacos 2.5.1 版本

部署 Nacos 单机版

下载 Nacos

wget https://github.com/alibaba/nacos/releases/download/2.5.1/nacos-server-2.5.1.tar.gz

解压 Nacos

tar xf nacos-server-2.5.1.tar.gz  -C /usr/local/

启动 Nacos 单机版

/usr/local/nacos/bin/startup.sh -m standalone

查看日志确认 Nacos 是否启动成功:

tail -100f /usr/local/nacos/logs/start.out

配置 Nacos 集群

修改集群配置文件

在单点的配置上修改配置文件:

# 配置文件添加以下内容
vi /usr/local/nacos/conf/cluster.conf10.0.0.91:8848
10.0.0.92:8848
10.0.0.93:8848

拷贝 Nacos 程序到其他节点

scp -r /usr/local/nacos/ 10.0.0.92:/usr/local/
scp -r /usr/local/nacos/ 10.0.0.93:/usr/local/

停止单点的 Nacos

systemctl disable --now nacos.service

所有节点以集群的方式启动

在所有节点上执行以下命令:

/usr/local/nacos/bin/startup.sh -p embedded

访问验证

通过浏览器访问以下地址,确认集群是否正常工作:

http://10.0.0.91:8848/#/clusterManagement
http://10.0.0.92:8848/#/clusterManagement
http://10.0.0.93:8848/#/clusterManagement

配置 HAProxy 实现负载均衡

修改内核参数

在所有节点上执行以下命令:

echo net.ipv4.ip_nonlocal_bind = 1 >> /etc/sysctl.d/nacos.conf
sysctl -f /etc/sysctl.d/nacos.conf
sysctl -q net.ipv4.ip_nonlocal_bind

安装配置 HAProxy

apt -y install haproxy

修改 HAProxy 的配置文件

vi /etc/haproxy/haproxy.cfg.....# 添加以下内容listen statusmode httpbind 0.0.0.0:9999stats enablelog globalstats uri  /ruokstats auth admin:yinzhengjielisten nacosbind 10.0.0.66:18848server elk91 10.0.0.91:8848 checkserver elk92 10.0.0.92:8848 checkserver elk93 10.0.0.93:8848 check

将配置文件拷贝到其他节点:

scp /etc/haproxy/haproxy.cfg 10.0.0.91:/etc/haproxy
scp /etc/haproxy/haproxy.cfg 10.0.0.92:/etc/haproxy

配置抢占式 Keepalived 实现高可用

安装配置 Keepalived

apt -y install keepalived

修改 Keepalived 的配置文件

在 10.0.0.91 上执行:

vi /etc/keepalived/keepalived.conf! Configuration File for keepalived
global_defs {router_id 10.0.0.91
}
vrrp_script chk_haproxy {script "killall -0 haproxy"interval 2weight -20
}
vrrp_instance VI_1 {state MASTERinterface eth0virtual_router_id 251priority 100advert_int 1mcast_src_ip 10.0.0.91nopreemptauthentication {auth_type PASSauth_pass yinzhengjie}track_script {chk_haproxy}virtual_ipaddress {10.0.0.66}
}

在 10.0.0.92 上执行: 

vi /etc/keepalived/keepalived.conf! Configuration File for keepalived
global_defs {router_id 10.0.0.92
}
vrrp_script chk_haproxy {script "killall -0 haproxy"interval 2weight -20
}
vrrp_instance VI_1 {state BACKUPinterface eth0virtual_router_id 251priority 80advert_int 1mcast_src_ip 10.0.0.92nopreemptauthentication {auth_type PASSauth_pass yinzhengjie}track_script {chk_haproxy}virtual_ipaddress {10.0.0.66}
}

在 10.0.0.93 上执行:

vi /etc/keepalived/keepalived.conf! Configuration File for keepalived
global_defs {router_id 10.0.0.93
}
vrrp_script chk_haproxy {script "killall -0 haproxy"interval 2weight -20
}
vrrp_instance VI_1 {state BACKUPinterface eth0virtual_router_id 251priority 60advert_int 1mcast_src_ip 10.0.0.93nopreemptauthentication {auth_type PASSauth_pass yinzhengjie}track_script {chk_haproxy}virtual_ipaddress {10.0.0.66}
}

重启 Keepalived 服务

在所有节点上执行以下命令:

systemctl enable --now keepalived

重启 Keepalived 服务

在所有节点上执行以下命令:

systemctl enable --now keepalived

启动 HAProxy 负载均衡器

在所有节点上执行以下命令:

systemctl restart haproxy.service

确认 HAProxy 是否启动成功:

ss -ntl | grep 18848

访问测试验证

通过浏览器访问以下地址,确认高可用是否正常工作:

http://10.0.0.66:18848/#/login

验证高可用

在主节点上停止 Keepalived 服务:

systemctl stop keepalived

观察 VIP 是否飘逸,但不影响客户端使用。

总结

本文详细介绍了如何部署 Nacos 集群,并结合 HAProxy 和 Keepalived 实现高可用。通过以上步骤,我们能够确保在生产环境中 Nacos 的稳定运行,为微服务架构提供可靠的配置管理和服

性能调优参数

1. JVM参数优化

# 修改bin/startup.sh
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g"
JAVA_OPT="${JAVA_OPT} -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m"
JAVA_OPT="${JAVA_OPT} -XX:+UseG1GC -XX:MaxGCPauseMillis=200"

2. 内核参数调优

# /etc/sysctl.conf
net.core.somaxconn=65535
net.ipv4.tcp_max_syn_backlog=65535
vm.swappiness=10# 执行生效
sysctl -p

监控指标清单

指标类别监控项告警阈值
系统资源CPU利用率>80%持续5分钟
内存使用率>90%
数据库活跃连接数> max_connections*0.8
查询延迟(P99)>500ms
Nacos服务配置推送成功率<99.9%
服务心跳丢失率>1%
网络VIP切换次数>3次/小时

灾备演练方案

场景模拟

# 随机停止一个Nacos节点
ssh node$((RANDOM%3+1)) "systemctl stop nacos"# 观察客户端行为
watch -n 1 'curl -s http://10.0.0.66:18848/nacos/v1/ns/service/list'# 预期结果:服务列表持续可用,无数据丢失

恢复验证

# 启动故障节点
ssh nodeX "systemctl start nacos"# 检查数据一致性
nacosctl check cluster health

通过以上架构设计与故障处理方案,某金融平台的Nacos集群实现了99.99%的可用性,配置推送延迟从平均2.3秒降低到420毫秒,完整支撑了日均10万+次的微服务调用。建议企业根据实际业务规模动态调整节点数量,并定期进行故障演练。


文章转载自:

http://4AJQ1BeK.cwwbm.cn
http://mvRHqhJR.cwwbm.cn
http://OYmRzMiI.cwwbm.cn
http://i1SwzzHW.cwwbm.cn
http://oLKQytQa.cwwbm.cn
http://lbNszpUY.cwwbm.cn
http://dZybp4Cy.cwwbm.cn
http://NxdRe109.cwwbm.cn
http://sfKC1Mnq.cwwbm.cn
http://URtS9I7m.cwwbm.cn
http://hz7XT1SB.cwwbm.cn
http://PMOBjBuj.cwwbm.cn
http://3xZPpJec.cwwbm.cn
http://5WptPdtg.cwwbm.cn
http://C8L6eoiF.cwwbm.cn
http://pyGPDBpZ.cwwbm.cn
http://RqIRq6LR.cwwbm.cn
http://EKGkJKXB.cwwbm.cn
http://rTjMaB8s.cwwbm.cn
http://PoNJmekH.cwwbm.cn
http://wBvHSaEC.cwwbm.cn
http://wqVyCmXN.cwwbm.cn
http://A2r8a13y.cwwbm.cn
http://F3HYN9fK.cwwbm.cn
http://s3U1KDp5.cwwbm.cn
http://FbOI6QzA.cwwbm.cn
http://L0gn5fQB.cwwbm.cn
http://24uGf1Lc.cwwbm.cn
http://QZqymCik.cwwbm.cn
http://Cx9hSJTU.cwwbm.cn
http://www.dtcms.com/wzjs/641791.html

相关文章:

  • 厦门 外贸商城网站国际网站 建设
  • 专业建设润滑油网站如何开通网络
  • 网站常用布局设计制作小车二教学视频
  • 内蒙古建设工程造价信息网官方网站还是网站好
  • 网站关键词 价格生成设计之家效果图
  • 东明网站建设wordpress 首页模板
  • 网站不能调用样式加人引流加人网站怎么做
  • 中信云 做网站如何设置个人网站
  • 重庆自适应网站建设做网站开发钱
  • 网站建设与管理案例教程第三版答案深圳网站设计 深圳信科
  • 镇江专业网站建设制作wordpress建群站
  • 做文字头像的网站网站与微信结合
  • 网站发布初期的推广黄金网站软件app大全
  • 北京首华建设经营有限公司网站网站标题能改吗
  • 楼盘网站建设案例编程课网课哪家好
  • 江门网站推广多少钱找段子的各大网站
  • 安卓系统上怎样做网站前端开发萤栈WordPress
  • 网站精品案例南昌网站开发技术
  • 南京seo按天计费seo属于运营还是技术
  • 同一个空间可以做两个网站么六安网站建设找哪家
  • 北京做网站的公司排名做直播网站软件有哪些软件
  • 郑州网站免费制作娃哈哈网络营销策划方案
  • 内蒙古自治区建设厅网站婚庆公司网站建设方案
  • 网站外链暴涨淄博周村网站建设报价
  • 做网站什么最重要有哪些公众号是小黄油的
  • 找人做海报在什么网站找什么网站做玩具的比较多
  • 自己做的网站主页被人篡改seo技术培训价格表
  • s上海网站建设郓城如何做网站seo
  • 网站目录做外链wordpress分类加密
  • 重庆建站公司哪个好网站制作知名 乐云践新专家