实用知识
lookNo施
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
kubernetes的pod如何在yaml文件中设置环境变量?
1.在containers下的使用env,或者args原创 2022-03-15 00:18:10 · 1124 阅读 · 0 评论 -
二进制部署kubernetes
2.基础环境准备 2.1 系统基础设置(所有机器都要执行) 2.1.1 设置主机名 hostnamectl set-hostname hdss7-xx.host.com 2.1.2 设置网卡 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO=none DEFROUTE="yes" IPV4_FAILURE_FATAL="no"原创 2022-03-14 20:14:45 · 2906 阅读 · 0 评论 -
17.每日一读-kafka为什么这么快?
0、Kafka对于大吞吐量设计是最佳选择 1、磁盘顺序读写 2、页缓存 直接使用操作系统的页缓存特性提高处理速度 Kafka采用字节紧密存储,避免产生对象,这样可以进一步提高空间利用率 3、零拷贝 4、批量处理 ...原创 2022-02-27 23:20:47 · 1001 阅读 · 0 评论 -
15.每日一读-RabbitMQ的六种队列模式与应用场景
1.MQ的组件: 生产者:消息提供者 消费者:消息使用者 MQ服务器:管理队列、消息及相关信息 消息:程序间通讯的数据 队列:消息存放的容器,消息是先进先出的 交换机:用于分发消息 2.RabbitMQ工作模式 2.1 简单模式 无交换机参与。实际工作中几乎用不到。生产者通过MQ将消息放入队列,队列发送给消费者。 2.2 工作队列 类似负载均衡。在多个消息的情况下,工作队列模式会将消息分发给不同的消费者,每个消费者会收到不同的消息, 并且根据处理消息的速度来接收消息的数量,进而让消费者程序发挥最大性原创 2022-02-24 22:38:24 · 1183 阅读 · 0 评论 -
14.每日一读-到底什么是蓝绿、红黑、灰度发布
1.科学部署的意义 尽可能减少服务停机时间 控制新版本带来的质量风险 2.全量发布与增量发布 3.蓝绿发布 1.我有两个应用集群,应用集群A与应用集群B,这两个集群的版本都是v1.0,现在使用蓝绿部署的方法进行升级上线 2.在网关中设置,先断开应用集群A的连接 3.将应用集群A升级到V1.1 4.设置网关对应用集群A的连接 5.设置网关断开应用集群B的连接 6.升级应用集群B到v1.1 7.设置网关连接应用集群B 3.红黑发布 红黑发布针对的是一个集群 1.有一个应用集群Av1.0需要对其升原创 2022-01-28 22:07:22 · 5879 阅读 · 0 评论 -
13.每日一读-分清脏读、幻读、 不可重复读
脏读:指读取到其他事务正在处理的未提交数据 不可重复读:指并发更新时,另一个事务前后查询相同数据时的数据不符合预期 幻读:指并发新增、删除这种会产生数量变化的操作时,另一个事务前后查询相同数据时的不符合预期 事务隔离级别 MySQL默认Repeatable Read(RR)-可重复读 MySQL 5.1以后默认存储引擎就是InnoDB 因此MySQL默认RR也能解决幻读问题 ...原创 2022-01-27 21:07:21 · 952 阅读 · 0 评论 -
11.每日一读-公共表在分布式架构下该如何访问?
1.那些是公共表? 被其他业务模块共享的基础数据表,被称为公共表 比如:系统用户表、行政区划、组织机构、系统配置 2.分布式环境下公共表会遇到哪些新问题? 假如用户表有4000万数据,在查询时不小心没有索引,导致磁盘IO直接拉满,其他表访问就会出现高延迟。 实时数据,将公共表下沉为基础服务 业务模块上浮为业务服务 业务应用通过RPC、RESTful API访问 数据层面解耦,有独立的服务器资源支撑 团队之间解耦,谁的模块谁负责 开发起来真的麻烦 如何屏蔽底层复杂度是架构设计的难点 ...原创 2022-01-26 21:59:35 · 973 阅读 · 0 评论 -
kubernetes-kubectl操作实例
1.创建资源对象 根据YAML配置文件一次性创建Service和RC: kubectl create -f my-service.yaml -f my-rc.yaml 根据目录下所有.yaml、.yml、.json文件的定义进行创建: kubectl create -f <directory> 2.查看资源对象 查看所有的Pod列表: kubectl get pods 查看RC和Service列表: kubectl get rc,service 3.描述资源对象 显示Node的详细信息原创 2022-01-22 02:36:41 · 965 阅读 · 0 评论 -
10.每日一读-Redis哨兵模式简讲
1.Redis主从复制过程 1.在生产工作中Redis一般采用一主多从的架构 2.Redis主从复制的过程 2.Redis Sentinel高可用集群 3.Sentinel节点挂了怎么办?原创 2022-01-19 21:35:54 · 923 阅读 · 0 评论 -
9.每日一读—MHA:MySQL高可用架构方案
1.什么是MHA,mysql的高可用架构方案 mysql的架构方案 在互联网公司mysql的架构方案一般采用的是主从复制,一主多从的方案。 在默认情况下mysql架构方案是不具备高可用性的,当主节点挂掉以后从节点是没有“感知”不会采取“行动”的。 MHA就是最成熟的mysql高可用方案 2.MHA:故障发现与转移 判断master已经挂掉: MHA manager ping 三次master,当ping不通的时候可以判断有两种情况。a.MHA manager 到master的通信断掉。b.master挂原创 2022-01-17 21:24:18 · 1287 阅读 · 2 评论 -
8.每日一读—Canal实现mysql异构数据同步
1.什么是异构数据 MySQL中存储的数据,elasticsearch中存储的数据。这两种数据就是异构数据。 2.身处漩涡中心的mysql团队 举个栗子: 在一个商城的开发项目中有一个mysql团队,使用mysql来保存商品的信息。 现在需要增加一个“全文检索”的功能,成立了Elasticsearch团队。mysql中新增加一条信息,就需要mysql团队调用Elasticsearch团队的接口新建商品信息。 这样就出现了一个严重的问题,代码出现了强耦合。mysql团队必须了解elasticsearch团队原创 2022-01-17 20:47:28 · 1639 阅读 · 0 评论 -
7.每日一读一CAP定理
一致性C代表更新操作成功后,所有节点在同一时间的数据完全一致。 可用性A代表用户访问数据时,系统是否能在正常响应时间返回预期的结果。 分区容错性P代表分布式系统在遇到某节点或网络分区故障的时候,仍然能够对外提供满足一致性或可用性的服务 AP表现为订单创建后不等待库存减少直接返回处理结果 CP表现为订单创建后一直等待库存减少后才返回结果 AC表现为不再拆分数据系统,在一个数据库的一个事务中完成操作,也就是单体应用 ...原创 2022-01-12 20:49:38 · 716 阅读 · 0 评论 -
6.每日一读—IP直连的问题
1.IP直连有什么问题? 1.1 什么是IP直连 举个栗子: 在写代码时连接数据库使用的IP地址 1.2 IP直连带来的问题 强耦合: 2.如何解决IP直连的问题? 2.1 使用内部DNS 简单粗暴 但没有故障发现与转移 多IP只有轮询规则 2.2 注册中心 支持故障发现与故障转移 多种负载均衡规则 架构复杂度增加 ...原创 2022-01-12 20:39:59 · 1556 阅读 · 0 评论 -
3.每日一读—多级缓存
1.为什么需要缓存? 提升性能最直接的方法 原始数据存放在MySQL数据库上,MYSQL将数据存放在硬盘上,防止数据丢失 硬盘比内存设备在IO层面上慢了不止一个数量级 在多数互联网应用都是读多写少的场景,使用读写分离。数据写入mysql然后同步到redis中让用户进行读写,这里的redis就是缓存了 2.分布式缓存讲解 2.1客户端 浏览器将一些静态资源保存到本地(设置有过期时间),从而减少重复请求静态资源。 响应头:Expires与Cache-Control的区别 Expires是指定具体某个时原创 2022-01-10 21:46:31 · 1495 阅读 · 0 评论 -
2.Go语言干货—基本数据类型
1. 整形 1.1 整型按照符号分为两大类(有符号与无符号) 1.2 整型按照长度分 int8、int16、int32、int64 对应的无符号整型:uint8、uint16、uint32、uint64 1.3 特殊整型 类型 描述 uint 32位操作系统上就是uint32,64位操作系统上就是uint64 int 32位操作系统上就是int32,64位操作系统上就是int64 uintptr 无符号整型,用于存放一个指针 注意:在使用int与uint类型的时候,不能假定他是3原创 2021-06-15 00:20:31 · 360 阅读 · 0 评论 -
1.Go语言干货—变量常量
1.标识符与关键字 1.1 标识符 标识符就是程序员定义的具有特殊含义的词。(变量名、常量名、函数名等) Go语言中标识符由数字字母下划线构成。 1.2 关键字 Go语言中有25个关键字 break default func interface select case defer go map struct chan else goto原创 2021-06-14 23:00:18 · 174 阅读 · 0 评论 -
nginx配置文件实用干货
1.nginx.conf 注释 #user nobody; # 定义nginx的工作进程数,以cpu核数 为准 worker_processes 5; # 想用哪个用能,直接打开注释,或者写进来即可 error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #error_log "pipe:rollback logs/error_log interval=1d ba原创 2021-06-10 11:31:38 · 605 阅读 · 0 评论 -
淘宝版本nginx使用纯干货
1.配置系统开发环境 yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y 2.进入淘宝nginx官网,下载源代码进行编译安装 # 官网 http://原创 2021-06-10 11:16:57 · 851 阅读 · 0 评论 -
使用uwsgi启动python web
1.安装uwsgi工具 pip3 install -i https://pypi.douban.com/simple uwsgi 2.编写uwsgi.ini配置文件,以多进程形式启动tf_crm touch uwsgi.ini #手动创建此uwsgi的配置文件,写入如下的内容参数,去启动crm # 写入如下的功能性的参数配置,用于启动项目 # 这些部署的流程,是国外的uwsgi官网,给与的用法,我们照着用即可 # 注意要根据你自己的目录,修改如下的参数 [uwsgi] # Django-relate原创 2021-06-08 14:10:18 · 816 阅读 · 1 评论 -
virtualenv-python3的虚拟环境工具实现多版本Django共存
virtualenv 可以在Linux系统中建立多个不同并且相互不干扰的虚拟环境。 1.下载虚拟环境工具 pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv 2.通过命令行创建虚拟环境 #pip3安装的模块会放在这里 [root@linux ~]# find /opt/python369/ -name site-packages /opt/python369/lib/python3.6/site-packages #原创 2021-06-08 14:03:51 · 427 阅读 · 0 评论 -
Linux超级干货-安装Django与注意事项
注意python3的版本与Django版本是否合适,当前环境python3.6.9,Django 1.11.25 1.升级pip3工具 pip3 install -i https://pypi.douban.com/simple --upgrade pip 2.使用pip3安装Django模块 pip3 install -i https://pypi.douban.com/simple django==1.11.25 #检查一下pip3的模块信息 pip3 list 3.使用命令创建Django原创 2021-06-08 13:47:21 · 318 阅读 · 1 评论 -
Linux超级干货-python3编译安装
1.安装编译环境 yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y 2.获取python的源代码 wget https://www.python.org/ftp/python/3.6.9/P原创 2021-06-08 13:32:59 · 950 阅读 · 0 评论 -
Linux超级干货——更换yum源
1.yum源仓库文件存放位置 yum源的默认仓库文件夹是 /etc/yum.repos.d/ 在 /etc/yum.repos.d/目录第一层的*.repo结尾的文件,才会被yum读取 2.备份yum源默认的仓库文件 cd /etc/yum.repos.d mkdir repobak mv *.repo repobak #备份repo文件 3.下载wget命令 yum install wget -y #wget命令就是在线下载一个url的静态资源 4. 下载新的阿里的yum源仓库与ep原创 2021-06-07 16:38:54 · 539 阅读 · 0 评论 -
supervisor工具使用干货
1.安装supervisor yum install supervisor -y 2. 生成supervisor配置文件 echo_supervisord_conf > /etc/supervisord.conf 3. 修改supervisor配置文件(添加管理CRM任务) vim /etc/supervisor.conf #再最底行,添加如下内容 #[program:xx]是被管理的进程配置参数,xx是进程的名称 [program:s25crm] command=写入启动uwsgi的命令原创 2021-06-05 18:00:46 · 321 阅读 · 0 评论 -
消息队列之RabbitMQ
消息队列(Message Queue) 1. 什么是消息队列(MQ) 一种应用程序对应用程序的通信方法。MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取队列中的消息。这样发布者和使用者都不用知道对方的存在。 生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相原创 2021-05-27 01:36:28 · 283 阅读 · 0 评论
分享