实用知识
lookNo施
这个作者很懒,什么都没留下…
展开
-
kubernetes的pod如何在yaml文件中设置环境变量?
1.在containers下的使用env,或者args原创 2022-03-15 00:18:10 · 989 阅读 · 0 评论 -
二进制部署kubernetes
2.基础环境准备2.1 系统基础设置(所有机器都要执行)2.1.1 设置主机名hostnamectl set-hostname hdss7-xx.host.com2.1.2 设置网卡~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO=noneDEFROUTE="yes"IPV4_FAILURE_FATAL="no"原创 2022-03-14 20:14:45 · 2586 阅读 · 0 评论 -
17.每日一读-kafka为什么这么快?
0、Kafka对于大吞吐量设计是最佳选择1、磁盘顺序读写2、页缓存直接使用操作系统的页缓存特性提高处理速度Kafka采用字节紧密存储,避免产生对象,这样可以进一步提高空间利用率3、零拷贝4、批量处理...原创 2022-02-27 23:20:47 · 939 阅读 · 0 评论 -
15.每日一读-RabbitMQ的六种队列模式与应用场景
1.MQ的组件:生产者:消息提供者消费者:消息使用者MQ服务器:管理队列、消息及相关信息消息:程序间通讯的数据队列:消息存放的容器,消息是先进先出的交换机:用于分发消息2.RabbitMQ工作模式2.1 简单模式无交换机参与。实际工作中几乎用不到。生产者通过MQ将消息放入队列,队列发送给消费者。2.2 工作队列类似负载均衡。在多个消息的情况下,工作队列模式会将消息分发给不同的消费者,每个消费者会收到不同的消息,并且根据处理消息的速度来接收消息的数量,进而让消费者程序发挥最大性原创 2022-02-24 22:38:24 · 1044 阅读 · 0 评论 -
14.每日一读-到底什么是蓝绿、红黑、灰度发布
1.科学部署的意义尽可能减少服务停机时间控制新版本带来的质量风险2.全量发布与增量发布3.蓝绿发布1.我有两个应用集群,应用集群A与应用集群B,这两个集群的版本都是v1.0,现在使用蓝绿部署的方法进行升级上线2.在网关中设置,先断开应用集群A的连接3.将应用集群A升级到V1.14.设置网关对应用集群A的连接5.设置网关断开应用集群B的连接6.升级应用集群B到v1.17.设置网关连接应用集群B3.红黑发布红黑发布针对的是一个集群1.有一个应用集群Av1.0需要对其升原创 2022-01-28 22:07:22 · 5606 阅读 · 0 评论 -
13.每日一读-分清脏读、幻读、 不可重复读
脏读:指读取到其他事务正在处理的未提交数据不可重复读:指并发更新时,另一个事务前后查询相同数据时的数据不符合预期幻读:指并发新增、删除这种会产生数量变化的操作时,另一个事务前后查询相同数据时的不符合预期事务隔离级别MySQL默认Repeatable Read(RR)-可重复读MySQL 5.1以后默认存储引擎就是InnoDB因此MySQL默认RR也能解决幻读问题...原创 2022-01-27 21:07:21 · 893 阅读 · 0 评论 -
11.每日一读-公共表在分布式架构下该如何访问?
1.那些是公共表?被其他业务模块共享的基础数据表,被称为公共表比如:系统用户表、行政区划、组织机构、系统配置2.分布式环境下公共表会遇到哪些新问题?假如用户表有4000万数据,在查询时不小心没有索引,导致磁盘IO直接拉满,其他表访问就会出现高延迟。实时数据,将公共表下沉为基础服务业务模块上浮为业务服务业务应用通过RPC、RESTful API访问数据层面解耦,有独立的服务器资源支撑团队之间解耦,谁的模块谁负责开发起来真的麻烦如何屏蔽底层复杂度是架构设计的难点...原创 2022-01-26 21:59:35 · 911 阅读 · 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,service3.描述资源对象显示Node的详细信息原创 2022-01-22 02:36:41 · 822 阅读 · 0 评论 -
10.每日一读-Redis哨兵模式简讲
1.Redis主从复制过程1.在生产工作中Redis一般采用一主多从的架构2.Redis主从复制的过程2.Redis Sentinel高可用集群3.Sentinel节点挂了怎么办?原创 2022-01-19 21:35:54 · 870 阅读 · 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 · 1178 阅读 · 2 评论 -
8.每日一读—Canal实现mysql异构数据同步
1.什么是异构数据MySQL中存储的数据,elasticsearch中存储的数据。这两种数据就是异构数据。2.身处漩涡中心的mysql团队举个栗子:在一个商城的开发项目中有一个mysql团队,使用mysql来保存商品的信息。现在需要增加一个“全文检索”的功能,成立了Elasticsearch团队。mysql中新增加一条信息,就需要mysql团队调用Elasticsearch团队的接口新建商品信息。这样就出现了一个严重的问题,代码出现了强耦合。mysql团队必须了解elasticsearch团队原创 2022-01-17 20:47:28 · 1551 阅读 · 0 评论 -
7.每日一读一CAP定理
一致性C代表更新操作成功后,所有节点在同一时间的数据完全一致。可用性A代表用户访问数据时,系统是否能在正常响应时间返回预期的结果。分区容错性P代表分布式系统在遇到某节点或网络分区故障的时候,仍然能够对外提供满足一致性或可用性的服务AP表现为订单创建后不等待库存减少直接返回处理结果CP表现为订单创建后一直等待库存减少后才返回结果AC表现为不再拆分数据系统,在一个数据库的一个事务中完成操作,也就是单体应用...原创 2022-01-12 20:49:38 · 664 阅读 · 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 · 1433 阅读 · 0 评论 -
3.每日一读—多级缓存
1.为什么需要缓存?提升性能最直接的方法原始数据存放在MySQL数据库上,MYSQL将数据存放在硬盘上,防止数据丢失硬盘比内存设备在IO层面上慢了不止一个数量级在多数互联网应用都是读多写少的场景,使用读写分离。数据写入mysql然后同步到redis中让用户进行读写,这里的redis就是缓存了2.分布式缓存讲解2.1客户端浏览器将一些静态资源保存到本地(设置有过期时间),从而减少重复请求静态资源。响应头:Expires与Cache-Control的区别Expires是指定具体某个时原创 2022-01-10 21:46:31 · 1406 阅读 · 0 评论 -
2.Go语言干货—基本数据类型
1. 整形1.1 整型按照符号分为两大类(有符号与无符号)1.2 整型按照长度分int8、int16、int32、int64 对应的无符号整型:uint8、uint16、uint32、uint641.3 特殊整型类型描述uint32位操作系统上就是uint32,64位操作系统上就是uint64int32位操作系统上就是int32,64位操作系统上就是int64uintptr无符号整型,用于存放一个指针注意:在使用int与uint类型的时候,不能假定他是3原创 2021-06-15 00:20:31 · 248 阅读 · 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 · 122 阅读 · 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 · 457 阅读 · 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 -y2.进入淘宝nginx官网,下载源代码进行编译安装# 官网http://原创 2021-06-10 11:16:57 · 686 阅读 · 0 评论 -
使用uwsgi启动python web
1.安装uwsgi工具pip3 install -i https://pypi.douban.com/simple uwsgi2.编写uwsgi.ini配置文件,以多进程形式启动tf_crmtouch uwsgi.ini #手动创建此uwsgi的配置文件,写入如下的内容参数,去启动crm# 写入如下的功能性的参数配置,用于启动项目# 这些部署的流程,是国外的uwsgi官网,给与的用法,我们照着用即可# 注意要根据你自己的目录,修改如下的参数[uwsgi]# Django-relate原创 2021-06-08 14:10:18 · 683 阅读 · 1 评论 -
virtualenv-python3的虚拟环境工具实现多版本Django共存
virtualenv 可以在Linux系统中建立多个不同并且相互不干扰的虚拟环境。1.下载虚拟环境工具pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv2.通过命令行创建虚拟环境#pip3安装的模块会放在这里[root@linux ~]# find /opt/python369/ -name site-packages/opt/python369/lib/python3.6/site-packages#原创 2021-06-08 14:03:51 · 330 阅读 · 0 评论 -
Linux超级干货-安装Django与注意事项
注意python3的版本与Django版本是否合适,当前环境python3.6.9,Django 1.11.251.升级pip3工具pip3 install -i https://pypi.douban.com/simple --upgrade pip2.使用pip3安装Django模块pip3 install -i https://pypi.douban.com/simple django==1.11.25 #检查一下pip3的模块信息pip3 list3.使用命令创建Django原创 2021-06-08 13:47:21 · 240 阅读 · 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 -y2.获取python的源代码wget https://www.python.org/ftp/python/3.6.9/P原创 2021-06-08 13:32:59 · 784 阅读 · 0 评论 -
Linux超级干货——更换yum源
1.yum源仓库文件存放位置yum源的默认仓库文件夹是 /etc/yum.repos.d/在 /etc/yum.repos.d/目录第一层的*.repo结尾的文件,才会被yum读取2.备份yum源默认的仓库文件cd /etc/yum.repos.dmkdir repobakmv *.repo repobak #备份repo文件3.下载wget命令yum install wget -y #wget命令就是在线下载一个url的静态资源4. 下载新的阿里的yum源仓库与ep原创 2021-06-07 16:38:54 · 322 阅读 · 0 评论 -
supervisor工具使用干货
1.安装supervisoryum install supervisor -y2. 生成supervisor配置文件echo_supervisord_conf > /etc/supervisord.conf3. 修改supervisor配置文件(添加管理CRM任务)vim /etc/supervisor.conf #再最底行,添加如下内容#[program:xx]是被管理的进程配置参数,xx是进程的名称[program:s25crm]command=写入启动uwsgi的命令原创 2021-06-05 18:00:46 · 244 阅读 · 0 评论 -
消息队列之RabbitMQ
消息队列(Message Queue)1. 什么是消息队列(MQ) 一种应用程序对应用程序的通信方法。MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取队列中的消息。这样发布者和使用者都不用知道对方的存在。 生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相原创 2021-05-27 01:36:28 · 239 阅读 · 0 评论