集群架构-web服务器(接入负载均衡+数据库+会话保持redis)--15454核心配置详解
紧接着前面的集群架构深化—中小型公司(拓展到大型公司业务)–下面图简单回顾一下之前做的及故障核心知识总结(等后期完全整理后,上传资源希望能帮大家)


web集群架构-接入负载均衡部署web02服务器等
web集群-搭建web02节点
[root ~]#yum install php[root ~]#cd /etc/nginx/conf.d/
[root /etc/nginx/conf.d]#ll
-rw-r--r-- 1 root root 581 6月 5 20:58 blog.wulinlinux.cn.conf
-rw-r--r-- 1 root root 321 5月 26 10:42 buy.wulinlinux.cn.conf
-rw-r--r-- 1 root root 236 6月 4 18:53 cfg.wulinlinux.cn.conf
-rw-r--r-- 1 root root 1072 4月 24 02:24 default.conf
-rw-r--r-- 1 root root 151 5月 26 10:43 hs.wulin.cn.conf
-rw-r--r-- 1 root root 262 6月 3 20:37 proxy.wulinlinux.cn.conf
-rw-r--r-- 1 root root 111 5月 26 10:44 wy.wulinlinux.cn.conf[root /etc/nginx/conf.d]#cd /etc/php
php.d/ php-fpm.d/ php-zts.d/
[root /etc/nginx/conf.d]#cd /etc/php-fpm.d/
[root /etc/php-fpm.d]#ll
总用量 20
-rw-r--r-- 1 root root 17964 6月 5 20:54 www.conf[root /etc/php-fpm.d]#scp www.conf 192.168.65.8:`pwd`
root.168.65.8's password:
www.conf 100% 18KB 17.6MB/s 00:00
[root /etc/php-fpm.d]#cd /app/code/blog/
[root /app/code/blog]#ll
总用量 232
-rw-r--r-- 1 www www 405 2月 6 2020 index.php
-rw-r--r-- 1 www www 19416 5月 26 15:39 license.txt
-rw-r--r-- 1 www www 7348 5月 26 15:39 readme.html
drwxr-xr-x 3 root root 21 6月 5 21:36 up-content
-rw-r--r-- 1 www www 7387 5月 26 15:39 wp-activate.php
drwxr-xr-x 9 www www 4096 5月 26 15:39 wp-admin
-rw-r--r-- 1 www www 351 2月 6 2020 wp-blog-header.php
-rw-r--r-- 1 www www 2323 5月 26 15:39 wp-comments-post.php
-rw-rw-rw- 1 www www 3283 5月 26 14:32 wp-config.php
-rw-r--r-- 1 www www 3328 5月 26 15:39 wp-config-sample.php
drwxr-xr-x 7 www www 99 5月 27 16:59 wp-content
-rw-r--r-- 1 www www 5638 5月 26 15:39 wp-cron.php
drwxr-xr-x 30 www www 12288 5月 26 15:39 wp-includes
-rw-r--r-- 1 www www 2502 11月 27 2022 wp-links-opml.php
-rw-r--r-- 1 www www 3927 5月 26 15:39 wp-load.php
-rw-r--r-- 1 www www 50917 5月 26 15:39 wp-login.php
-rw-r--r-- 1 www www 8525 5月 26 15:39 wp-mail.php
-rw-r--r-- 1 www www 28427 5月 26 15:39 wp-settings.php
-rw-r--r-- 1 www www 34385 5月 26 15:39 wp-signup.php
-rw-r--r-- 1 www www 4885 5月 26 15:39 wp-trackback.php
-rw-r--r-- 1 www www 3246 5月 26 15:39 xmlrpc.php
- 打包代码排除上传目录
[root /app/code/blog]#tar zcf ~/wordpress-no-uploads.tar.gz . --exclude=wp-content/uploads/*
[root@web01 /app/code/blog]#tar tf ~/wordpress-no-uploads.tar.gz |grep uploads
./wp-content/uploads/
[root@web01 ~]#scp wordpress-no-uploads.tar.gz 192.168.65.8:`pwd`
web02:查看并解压到对应的目录
[root ~]#ll
总用量 27752
-rw-------. 1 root root 1588 5月 4 19:50 anaconda-ks.cfg
-rw-r--r-- 1 root root 28411082 7月 13 19:14 wordpress-no-uploads.tar.gz
[root ~]#tar xf wordpress-no-uploads.tar.gz -C /app/code/blog/
[root ~]#ll /app/code/blog/
总用量 232
-rw-r--r-- 1 www www 405 2月 6 2020 index.php
-rw-r--r-- 1 www www 19416 5月 26 15:39 license.txt
-rw-r--r-- 1 www www 7348 5月 26 15:39 readme.html
drwxr-xr-x 3 root root 21 6月 5 21:36 up-content
-rw-r--r-- 1 www www 7387 5月 26 15:39 wp-activate.php
drwxr-xr-x 9 www www 4096 5月 26 15:39 wp-admin
-rw-r--r-- 1 www www 351 2月 6 2020 wp-blog-header.php
-rw-r--r-- 1 www www 2323 5月 26 15:39 wp-comments-post.php
-rw-rw-rw- 1 www www 3283 5月 26 14:32 wp-config.php
-rw-r--r-- 1 www www 3328 5月 26 15:39 wp-config-sample.php
drwxr-xr-x 7 www www 99 5月 27 16:59 wp-content
-rw-r--r-- 1 www www 5638 5月 26 15:39 wp-cron.php
drwxr-xr-x 30 www www 12288 5月 26 15:39 wp-includes
-rw-r--r-- 1 www www 2502 11月 27 2022 wp-links-opml.php
-rw-r--r-- 1 www www 3927 5月 26 15:39 wp-load.php
-rw-r--r-- 1 www www 50917 5月 26 15:39 wp-login.php
-rw-r--r-- 1 www www 8525 5月 26 15:39 wp-mail.php
-rw-r--r-- 1 www www 28427 5月 26 15:39 wp-settings.php
-rw-r--r-- 1 www www 34385 5月 26 15:39 wp-signup.php
-rw-r--r-- 1 www www 4885 5月 26 15:39 wp-trackback.php
-rw-r--r-- 1 www www 3246 5月 26 15:39 xmlrpc.php
[root ~]#yum insatll -y nfs-utils
[root ~]#ll /app/code/blog/wp-content/
总用量 12
-rw-r--r-- 1 www www 28 1月 9 2012 index.php
drwxr-xr-x 4 www www 4096 5月 26 15:39 languages
drwxr-xr-x 3 www www 55 5月 29 15:55 plugins
drwxr-xr-x 6 www www 118 5月 29 15:55 themes
drwxr-xr-x 2 www www 6 5月 27 16:58 upgrade
drwxr-xr-x 3 www www 18 5月 26 14:36 uploads[root ~]#ll /app/code/blog/wp-content/uploads/
总用量 0
drwxr-xr-x 3 root root 16 6月 4 20:26 2024
[root ~]#tree /app/code/blog/wp-content/uploads/
/app/code/blog/wp-content/uploads/
└── 2024└── 05└── 109951165166142900.jpg2 directories, 1 file
[root ~]#cd /app/code/blog/wp-content/uploads/
[root /app/code/blog/wp-content/uploads]#ll
总用量 0
drwxr-xr-x 3 root root 16 6月 4 20:26 2024
[root /app/code/blog/wp-content/uploads]#rm -fr 2024/
[root /app/code/blog/wp-content/uploads]#ll
总用量 0
[root /app/code/blog/wp-content/uploads]#cd ..
[root /app/code/blog/wp-content]#ll
总用量 12
-rw-r--r-- 1 www www 28 1月 9 2012 index.php
drwxr-xr-x 4 www www 4096 5月 26 15:39 languages
drwxr-xr-x 3 www www 55 5月 29 15:55 plugins
drwxr-xr-x 6 www www 118 5月 29 15:55 themes
drwxr-xr-x 2 www www 6 5月 27 16:58 upgrade
drwxr-xr-x 2 www www 6 7月 13 19:21 uploads
上面发现挂载的时候,发现不是空的原因是之前所有的文件是从web01上进行copy过来的:
[root@web02 ~]#tar xf wordpress-no-uploads.tar.gz -C /app/code/blog/
[root@web02 ~]#ll /app/code/blog/wp-content/uploads/
总用量 0
[root@web02 ~]#ll /app/code/blog/
总用量 232
-rw-r--r-- 1 www www 405 2月 6 2020 index.php
-rw-r--r-- 1 www www 19416 5月 26 15:39 license.txt
-rw-r--r-- 1 www www 7348 5月 26 15:39 readme.html
drwxr-xr-x 3 root root 21 6月 5 21:36 up-content
-rw-r--r-- 1 www www 7387 5月 26 15:39 wp-activate.php
drwxr-xr-x 9 www www 4096 5月 26 15:39 wp-admin
-rw-r--r-- 1 www www 351 2月 6 2020 wp-blog-header.php
-rw-r--r-- 1 www www 2323 5月 26 15:39 wp-comments-post.php
-rw-rw-rw- 1 www www 3283 5月 26 14:32 wp-config.php
-rw-r--r-- 1 www www 3328 5月 26 15:39 wp-config-sample.php
drwxr-xr-x 7 www www 99 5月 27 16:59 wp-content
-rw-r--r-- 1 www www 5638 5月 26 15:39 wp-cron.php
drwxr-xr-x 30 www www 12288 5月 26 15:39 wp-includes
-rw-r--r-- 1 www www 2502 11月 27 2022 wp-links-opml.php
-rw-r--r-- 1 www www 3927 5月 26 15:39 wp-load.php
-rw-r--r-- 1 www www 50917 5月 26 15:39 wp-login.php
-rw-r--r-- 1 www www 8525 5月 26 15:39 wp-mail.php
-rw-r--r-- 1 www www 28427 5月 26 15:39 wp-settings.php
-rw-r--r-- 1 www www 34385 5月 26 15:39 wp-signup.php
-rw-r--r-- 1 www www 4885 5月 26 15:39 wp-trackback.php
-rw-r--r-- 1 www www 3246 5月 26 15:39 xmlrpc.php[root@web02 ~]#systemctl enable nginx php-fpm
Created symlink from /etc/systemd/system/multi-user.target.wants/php-fpm.service to /usr/lib/systemd/system/php-fpm.service.
[root@web02 ~]#systemctl restart nginx php-fpm
[root@web02 ~]#ps -ef |grep www
apache 2614 2611 0 19:30 ? 00:00:00 php-fpm: pool www
apache 2615 2611 0 19:30 ? 00:00:00 php-fpm: pool www
apache 2616 2611 0 19:30 ? 00:00:00 php-fpm: pool www
apache 2617 2611 0 19:30 ? 00:00:00 php-fpm: pool www
apache 2618 2611 0 19:30 ? 00:00:00 php-fpm: pool www
root 2623 2062 0 19:30 pts/0 00:00:00 grep --color=auto www

web02打开浏览器:

发现如果没有进行挂载,图片将不会存在

文字存在的原因是:写到了数据库;
这时候可以尝试将这个没有显示的图片,换一个页面进行打开发现:

这里没有出现的情况是没有挂载:
mkdir -p /app/code/blog/wp-content/uploads
mount -t /nfs 172.16.1.31:/nfs/wordpress/ /app/code/blog/wp-content/uploads/
记得要永久挂载
这时候再刷新页面,图片才能加载出来(图片在nfs服务器存储上面)
web集群lnmp-wordpress(为例)-存储架构图

问题:负载均衡上的nginx用户需不需要也改成www?还是默认就可以?如果不改对内容有没有影响?
不需要改,负载均衡只需要进行做转发(但是一般还是会进行改掉的:方便批量进行管理)
[root ~]#vim /etc/nginx/conf.d/blog.conf

现在进行访问,不能直接判断是去了web01上,还是web02上(进一步判断:看日志记录、抓包)
[root ~]#nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root ~]#systemctl reload nginx
[root ~]#tail -f /var/log/nginx/blog-access.log

[root ~]#tail -f /var/log/nginx/blog-access.log
会发现两边都会出现记录:

会话保持
(1)概述
-
用户的请求,登录的请求,经过负载的均衡后落到后面的web服务器上,登录的状态、信息也会记录在web服务器上,就会导致不通的web服务器上,登录的状态不统一,造成用户频繁需要登录
-
会话:用户登录状态、购物车状态
-
目标:如何实现会话保持,会话共享?
(2)cookie vs session
开发中核心概念:知晓cookie与sesion含义,大致区别:
| 技术点 共同点 区别 其他 | |||
|---|---|---|---|
| cookie 存放用户的信息,登录信息 存放在客户端浏览器 服务器给客户端响应,进行设置set-cookie,未来再次访问携带者cookie访问服务端 | |||
| session 存放用户的信息,登录信息 存放服务端(文件,数据) 浏览器cookie与服务端的session |
浏览器F12查看cookie信息:


(3)会话保持方案-架构设计图

- 纯粹cookie
- cookie+session方式 + 统一存放session服务器(会话保持服务器)
- ip_hash方法
- 通过redis实现phpmyadmin、kodbox会话共享
部署:phpmyadmin:web页面版本的数据库管理工具,sql语句,php代码
部署流程
流程:
- db01服务器:phpmyadmin用户,权限大一些
- web服务器:部署代码,传输到另外一个web上
- 准备redis环境(db01)
- 修改php配置
- 接入负载均衡,访问与测试0
a)db准备phpmyadmin的用户
grant all on *.* to 'phpmyadmin'@'172.16.1.%' identified by '1';

b)部署代码



下载官方包:

上传到linux中:

#查看压缩包格式
[root ~]#ll phpMyAdmin-5.2.1-all-languages.zip
-rw-r--r-- 1 root root 15096155 7月 16 13:30 phpMyAdmin-5.2.1-all-languages.zip

##解压到当前目录
unzip phpMyAdmin-5.2.1-all-languages.zip
[root ~]#mkdir -p /app/code/admin
[root ~]#mv phpMyAdmin-5.2.1-all-languages/* /app/code/admin/

浏览器访问admin.wylinlinux.cn出现phpmyadmin报错

问题:

刷新之后重新访问网站:

登录外界数据库发现登录失败:原因是这种登录方式为本地,所以登录会出现下图错误:

默认连接的是本地的数据库,怎么让它连接db01服务器呢?
解决方式:手动创建连接数据库的配置文件
cp config.sample.inc.php
grep -n host config.inc.php
30:$cfg['servers']['$i']['host']='172.16.1.51';chown -R www.www /var/lib/php/session
ll -d /var/lib/php/session





以上就成功连接到别的数据库:

[root /app/code]#scp -r admin/ 192.168.65.8:`pwd`
[root /app/code]#cd /etc/nginx/conf.d/
[root /etc/nginx/conf.d]#scp phpmyadmin.wulinlinux.cn.conf 192.168.65.8:`pwd`
root.168.65.8's password:
phpmyadmin.wulinlinux.cn.conf 100% 592 719.3KB/s 00:00
[root ~]#nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root ~]#systemctl reload nginx
[root ~]#chown -R www.www /var/lib/php/session


检查语法
[root /etc/nginx/conf.d]#nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root /etc/nginx/conf.d]#systemctl reload nginx.service
本地解析:

访问浏览器,刷新之后要重新登录:

突然出现报错:

然后我在访问的浏览器前面加上https,然后登录没有报错,但是重新登录又出现报错(反复),
所以这也就模拟成功了myadmin会话保持的问题
3)部署redis
yum install -y redis修改/etc/redis.confbind 127.0.0.1 172.16.1.51 # 172.16.1.51本地的网卡的ipsystemctl enable --now redissystemctl start redisss -lntup |grep redis
安装redis,并且编辑redis文件:

检查语法,过滤端口:


4)lb01服务器配置文件
[root /etc/nginx/conf.d]#cat phpmyadmin.wulinlinux.cn.confupstream phpmyadmin_pools {server 10.0.0.7:80;server 10.0.0.8:80; }server {listen 80;server_name phpmyadmin.wulinlinux.cn;#error_log#access_loglocation / {proxy_pass http://phpmyadmin_pools;proxy_set_header Host $http_host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;}
这里模拟为了节省机器,不单独创建一个会话共享的服务器,用db01这个服务器做
5)php配置文件指定会话存放位置
[root ~]#cd /etc/nginx/conf.d/
[root /etc/nginx/conf.d]#
[root /etc/nginx/conf.d]#cd /etc/php-fpm.d/
[root /etc/php-fpm.d]#ll
总用量 20
-rw-r--r-- 1 root root 17964 6月 5 20:54 www.conf
[root /etc/php-fpm.d]#cp www.conf session.conf
[root /etc/php-fpm.d]#vim session.conf
[root /etc/php-fpm.d]#egrep -v '^$|;' session.conf
创建新的子配置文件:



通知php指定会话保持位置:redis tcp://172.16.1.51:6379

修改/etc/php-fpm.d/www.conf
php_value[session.save_handler] = redis
php_value[session.save_path] = tcp://172.16.1.51:6379
- session.conf
[session]
user = www
group = www
listen = 127.0.0.1:9001
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
slowlog = /var/log/php-fpm/www-slow.log
verwritten from PHP call 'ini_set'.
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path] = /var/lib/php/session
php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache
php_admin_value[error_log] = /var/log/php-fpm/www-error.log
php_admin_flag[log_errors] = on
php_value[session.save_handler] = files
php_value[session.save_path] = tcp://172.16.65.7:6379
php_value[soap.wsdl_cache_dir] = /var/lib/php/wsdlcache
检查语法:

[root /etc/php-fpm.d]#systemctl reload php-fpm.service #重启
过滤端口:


-
修改nginx配置文件 ,将admin转发到9001端口的php处理
-
检查语法,重启
-
最终的测试:
[root /etc/php-fpm.d]#scp session.conf web02:`pwd`
root's password:
session.conf 100% 766 2.6MB/s 00:00 [root ~]#systemctl reload nginx
[root ~]#chown -R www.www /var/lib/php/session/
[root ~]#systemctl reload php-fpm.service
重新登录,不会出现前面反复登录的情况:

session信息写入到了redis(会话共享服务器中):


如果删掉服务端这里的session,将要重新登录,重新进去创建session信息

以上成功测试完成!!!
相关文章:
集群架构-web服务器(接入负载均衡+数据库+会话保持redis)--15454核心配置详解
紧接着前面的集群架构深化—中小型公司(拓展到大型公司业务)–下面图简单回顾一下之前做的及故障核心知识总结(等后期完全整理后,上传资源希望能帮大家) web集群架构-接入负载均衡部署web02服务器等 web集群-搭建web0…...
# Redis 入门到精通(七)-- redis 删除策略
Redis 入门到精通(七)-- redis 删除策略 一、redis 删除策略–过期数据的概念 1、Redis 中的数据特征 Redis 是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过TTL指令获取其状态。 XX :具有时效性…...
10:00面试,10:08就出来了,问的问题有点变态。。。
从小厂出来,没想到在另一家公司又寄了。 到这家公司开始上班,加班是每天必不可少的,看在钱给的比较多的份上,就不太计较了。没想到6月一纸通知,所有人不准加班,加班费不仅没有了,薪资还要降40%…...
html+canvas 实现签名功能-手机触摸
手机上的效果图 需要注意,手机触摸和鼠标不是一个事件,不能通用,上一篇是关于使用鼠标的样例 相关代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewpo…...
前端组件化探索与实践:Vue自定义暂无数据组件的开发与应用
摘要 随着前端开发技术的不断进步,组件化开发已成为提升开发效率、降低维护成本的关键手段。本文旨在通过介绍一款Vue自定义暂无数据组件的开发与实践,深入探讨前端组件化开发的重要性、优势及其在实际项目中的应用。 一、引言 在前端开发中࿰…...
《汇编语言 基于x86处理器》- 读书笔记 - Visual Studio 2019 配置 MASM环境
安装 Visual Studio 2019 配置 MASM环境 下载 Visual Studio Installer安装 Visual Studio 20191. 双击运行2. 自定义安装内容3. 修改 MSVC 工具集版本4. 设置主题(可选)5. 安装代码高亮插件 AsmDude(可选)6. 通义灵码(…...
Air780E/Air780EP/Air780EQ/Air201模块遇到死机问题如何分析
Air780E/Air780EP/Air780EQ/Air201模块遇到死机问题如何分析 简介 本文档适用于合宙Air780E、Air780EP、Air780EQ、Air201 关联文档和使用工具: 从Ramdump里分析内存泄漏问题 无法抓底层log的情况下如何导出死机dump Luatools下载调试工具 EPAT抓取底层日志 F…...
前端经验:使用sheetjs导出CSV文本为excel
应用场景 很多web表格组件没有提供直接的导出excel功能,但提供了导出CSV的功能。 如果能想办法拿到CSV的内容,就可以利用sheetjs生成excel并导出。 实施步骤 1.拿到CSV的内容字符 每种表格组件都有各自的CSV生成方法,不管用什么方法&…...
【nnUNetv2进阶】十五、nnUNetv2 魔改网络-小试牛刀-引入ECA
nnunet使用及改进教程。 【nnUNetv2实践】一、nnUNetv2安装 【nnUNetv2实践】二、nnUNetv2快速入门-训练验证推理集成一条龙教程 【nnUNetv2进阶】三、nnUNetv2 自定义网络-发paper必会-CSDN博客 其他网络改进参考: 【nnUNetv2进阶】四、nnUNetv2 魔改网络-小试牛刀-加入…...
centos(或openEuler系统)安装kafka集群
安装192.168.9.60、192.168.9.61、192.168.9.62这3台kafka集群(kraft模式,不用zookeeper) 不带密码的 1.每台机器安装kafka: cd /home/kafka wget https://downloads.apache.org/kafka/3.3.1/kafka_2.13-3.3.1.tgz 不通就换这…...
HarmonyOS根据官网写案列~ArkTs从简单地页面开始
Entry Component struct Index {State message: string 快速入门;build() {Column() {Text(this.message).fontSize(24).fontWeight(700).width(100%).textAlign(TextAlign.Start).padding({ left: 16 }).fontFamily(HarmonyHeiTi-Bold).lineHeight(33)Scroll() {Column() {Ba…...
GraphRAG+ollama+LM Studio+chainlit
这里我们进一步尝试将embedding模型也换为本地的,同时熟悉一下流程和学一些新的东西 1.环境还是用之前的,这里我们先下载LLM 然后你会在下载nomic模型的时候崩溃,因为无法搜索,无法下载 解决办法如下lm studio 0.2.24国内下载…...
【中项第三版】系统集成项目管理工程师 | 第 5 章 软件工程② | 5.4 - 5.8
前言 第 5 章对应的内容选择题和案例分析都会进行考查,这一章节属于技术的内容,学习要以教材为准。 目录 5.4 软件实现 5.4.1 软件配置管理 5.4.2 软件编码 5.4.3 软件测试 5.5 部署交付 5.5.1 软件部署 5.5.2 软件交付 5.5.3 持续交付 5.5.4…...
6. dolphinscheduler-3.0.0伪集群部署
环境说明: 主机名:cmc01为例 操作系统:centos7 安装部署软件版本部署方式centos7zookeeperzookeeper-3.4.10伪分布式hadoophadoop-3.1.3伪分布式hivehive-3.1.3-bin伪分布式clickhouse21.11.10.1-2单节点多实例dolphinscheduler3.0.0单节…...
防火墙内容安全综合实验
一、实验拓扑 二、实验要求 1,假设内网用户需要通过外网的web服务器和pop3邮件服务器下载文件和邮件,内网的FTP服务器也需要接受外网用户上传的文件。针对该场景进行防病毒的防护。 2,我们需要针对办公区用户进行上网行为管理,要…...
常见的数据分析用例 —— 信用卡交易欺诈检测
文章目录 引言数据集分析1. 读入数据并快速浏览2.计算欺诈交易占数据集中交易总数的百分比3. 类别不平衡对模型的影响3.1 总体思路(1)数据的划分(2)训练模型(3)测试模型(4)解决不平衡…...
IP地址:由电脑还是网线决定?
IP地址:由电脑还是网线决定? 在互联网时代,IP地址是我们进行网络通信的基础。然而,对于IP地址究竟是由电脑决定还是由网线决定的问题,不少人可能存在疑惑。本文将从IP地址的定义、分配方式以及影响因素等方面进行探讨…...
如何定位及优化SQL语句的性能
在数据库管理和优化中,定位并解决SQL语句的性能问题是至关重要的。MySQL通过EXPLAIN命令提供了强大的工具来查看SQL语句的执行计划,这是定位性能瓶颈和优化SQL语句的首要步骤。以下是如何利用执行计划来定位及优化SQL语句性能问题的详细指南。 一、使用…...
SentenceTransformers (SBERT)
文章目录 一、关于 SBERT特点预训练模型应用实例 二、安装开发设置 三、入门使用四、训练五、Cross Encoder 一、关于 SBERT 官方文档:https://www.sbert.net/github : https://github.com/UKPLab/sentence-transformerspaper : Sentence-BERT: Sentence Embedding…...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】
1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件(System Property Definition File),用于声明和管理 Bluetooth 模块相…...
自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...
协议转换利器,profinet转ethercat网关的两大派系,各有千秋
随着工业以太网的发展,其高效、便捷、协议开放、易于冗余等诸多优点,被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口,具有实时性、开放性,使用TCP/IP和IT标准,符合基于工业以太网的…...
《信号与系统》第 6 章 信号与系统的时域和频域特性
目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...
