目录

Life in Flow

知不知,尚矣;不知知,病矣。
不知不知,殆矣。

Prometheus

项目上线后如何保障业务的稳定性运行 高可用架构设计 采用分布式架构和容灾设计,确保系统的冗余与可恢复能力 包括多机房部署、多副本部署、负载均衡、热备份等策略,以应对单点故障和海量并发请求。 服务容错与降级 在面对故障或异常情况时,通过设计合适的容错机制和降级策略来保证核心业务的稳定进行 例如,对于关键服务,可以使用熔断器、限流器等技术来避免级联故障和请求雪崩。 自动化运维和发布 制定自动化的运维流程,包括自动化的部署、回滚、灰度发布等,减少人工操作引起的错误和风险。 同时,建立持续集成与持续交付(CI/CD)流程,确保代码的质量和稳定性 安全保障和漏洞修复 建立健全的安全策略和防护措施,保障系统和数据的安全。 同时及时修复系统中的漏洞和安全问题,避免被攻击者利用导致系统瘫痪或用户数据泄漏。 备份与恢复 定期进行系统数据的备份,并建立灾难恢复机制,备份可以包括系统配置、数据库、日志等关键数据 在系统发生故障时,能够及时将数据恢复到最新的可用状态。 如何发现业务的不稳定运行 互联网公司需要在开发、测试、发布、运维等不同阶段对产品进行监控,以便及时....

OpenVPN

Virtual Private Network 方案 区别 专线 不差钱 硬件 vpn 设备 成本低 开源软件 pptp(兼容性差)、OpenVPN(数据加密、便于用户可以访问内网,内网) 、IpSEC、OpenSwan 应用场景 远程访问企业内网 多分支互通 架构 角色 地址 OpenVPN_Server(开启内核转发功能) eth0:192.168.10.30/24、eth1:172.16.10.30/24 DB 172.16.10.31/24 (不需要设置网关,只设置 ip 即可) OpenVPN_Client 192.168.10.88/24 1# 开启内核转发功能 2[root@localhost easy-rsa]# vim /etc/sysctl.conf 3[root@localhost easy-rsa]# sysctl -p 4net.ipv4.ip_forward = 1 CA 角色 功能 客户端 CA 证书:client 密钥(加密) 服务端 CA 证书:server 密钥(解密) ....

Zabbix

监控的意义 监视 是指对行为、活动或其他变动中信息的一种持续性关注,通常是为了对人达成影响、管理、指导或保护的目的 监控主机或者架构状态 控制、追责 及时定位故障点,预先扩容(数据分析) 早期linux的监控命令 定时任务+脚本 项目命令 业务apicurl/wget 进程ps/pstree/pgrep/pidstat/top/htop cputop/htop/vmstat/mpstat/cpuinfo/w/uptime/sar 内存top/free/ps/iotop/vmstat/sar 磁盘iotop/iostat/sar 网络iftop(整体带宽使用情况)/nethogs(精确到进程)/nstat/ifstat/mtr/sar 硬件Megacli(raid)/ipmitool(温度、cpu风扇转速)/Im_sensors(温度) 监控层次与指标 单台服务 业务信息:程序逻辑(与开发沟通书写一个监控页面) 服务信息:各种服务的进程、端口、状态 系统信息:cpu、mem、io、负载、网络 硬件信息:磁盘、raid状态、温度、风扇转速、机房温度&湿度 网络集群监控(用户访问流程....

使用Hash加盐对Password加密

数据表 mis_user 数据表是 MIS 系统的用户表,所有能登陆 MIS 系统的帐户都保存在这张表里面。首先你要明确:不是医院所有的工作人员都能登陆 MIS 系统。例如医护人员可以登录 MIS 系统,但是保安就不需要用 MIS 系统,所以我们在 mis_user 表中给需要使用 MIS 系统的用户创建帐户。 序号 列名 类型 备注 1 id INTEGER 主键 2 username VARCHAR 用户名 3 password VARCHAR 密码 4 name VARCHAR 姓名 5 sex VARCHAR 性别 6 tel VARCHAR 电话(用于接收重置密码的短信验证码) 7 email VARCHAR 邮箱(用于接收重置密码的邮件验证码) 8 dept_id INTEGER 隶属的部门 ID 9 job VARCHAR 职务(医生、护士等) 10 ref_id INTEGER 关联 ID(例如医生 ID,护士 ID 等) 11 status TINYINT 1 有效,2 离职,3 禁用 12 create_ti....

人脸识容器&MQ

在 docker 中安装人脸识别镜像 上传镜像 face.tar.gz 1[root@localhost tmp]# docker load < face.tar.gz 2[root@localhost tmp]# docker images 创建 docker 容器 解压 demo.tar 1[root@localhost tmp]# tar -xvf demo.tar 2[root@localhost tmp]# docker run -d -it -p 3000:3000 -v /tmp/demo:/demo --name node face 3 4 5[root@localhost tmp]# docker ps 6CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 70ef91128ee5c face "bash" 47 seconds ago Up 46 seconds 0.0.0.0:3000->3000/tcp node 运行人脸识别程序 1### 进入容器 2[root@localhost t....

微信开发者账号

申请微信开发者账号  虽然开发微信小程序可以使用工具提供的测试号,但是测试号提供的功能极为有限,而且使用测试号开发的微信小程序不能上架发布。因此,想要开发一个可以上架的微信小程序,首先必须要申请微信开发者账号。个人申请和使用微信开发者账号是免费的。如果要开发的是商用小程序,那么就需要以企业身份申请微信开发者账号,而且还要缴纳认证费用。 在线办公小程序  在线办公小程序,内部包含微信支付和在线视频会议功能,这两项业务,微信平台不对个人小程序开放。  需要企业小程序资质(仅供开发,不能上架发布,设置了权限无法上架),把小程序项目中的配置文件修改一下,换上提供者的 AppID 就可以了。  如果想上架发布小程序,可以自己注册个人主体的小程序开发者账号,然后把小程序中的在线会议和支付功能去掉,就可以上架发布了。 微信公众平台  访问微信公众平台,立即注册。 获取 AppID 和密钥  开发微信小程序必须要用到 AppID 和密钥,这两个东西可以在微信开发者平台上面获得。  在网页中找到开发栏目,然后选择开发设置 选项卡,在面板中你就能看到自己的小程序对应的 AppID 和 密钥 了。如果是刚注....

单点登录(Single Sign On):Shiro➕JWT

认证  认证就是要核验用户的身份,比如说通过用户名和密码来检验用户的身份。说简单一些,认证就是登陆。登陆之后 Shiro 要记录用户成功登陆的凭证。 授权  没有授权机制的 web 系统是很危险的,所有用户在登录成功之后都是超级管理员,都可以调用 CRUD 的 API。  授权是比认证更加精细度的划分用户的行为。比如说一个教务管理系统中,学生登陆之后只能查看信息,不能修改信息。而班主任就可以修改学生的信息。这就是利用授权来限定不同身份用户的行为。 Shiro 靠什么做认证与授权的?  Shiro 可以利用 HttpSession 或者 Redis 存储用户的登陆凭证,以及角色或者身份信息。  利用过滤器 (Filter),对每个 Http 请求过滤,检查请求对应的 HttpSession 或者 Redis 中的认证与授权信息。如果用户没有登陆,或者权限不够,那么 Shiro 会向客户端返回错误信息。  也就是说,我们写用户登陆模块的时候,用户登陆成功之后,要调用 Shiro 保存登陆凭证。然后查询用户的角色和权限,让 Shiro 存储起来。将来不管哪个方法需要登陆访问,或者拥有特定的角....