自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (2)
  • 收藏
  • 关注

原创 ansible入门介绍-不可不知的运维工具

你可以不用Ansible但一定要了解它!什么是Ansible?通俗的说,Ansible就是在多台机器上批量执行命令的工具。在没有这样的工具之前,部署一个程序到多台服务器,要怎么操作?手动操作显然不现实,也许现在是3台、5台机器,但以后是50台、100台呢。基于scp、ssh自己写工具去批量的copy文件到服务器、批量执行命令也不是一个好的选择。为什么这么说?先来看看Ansible是如何做的。先安装一下Ansibleyum install ansible -y一个copy模块展现Ansible

2021-05-29 16:02:23 162 3

原创 基于ansible实现了一个通用的服务部署工具

服务的部署可以理解为1.copy服务需要的文件到目标机2.执行服务的启动脚本3.查询服务的转态4.停止服务部署服务的机器管理对机器进行分组,分组名与要部署的服务一一对应工具地址 https://github.com/liuping001/deploy...

2021-05-27 07:41:05 95

原创 让服务的help接口支持markdown显示

我们的微服务接口调用方式支持grpc、http。在http请求接口的时候,每个服务要提供一个help接口,描述微服务接口信息。当在浏览器上请求服务的help接口时,要看到优美的样式。所以我们选择了markdown来描述hlep接口,接口返回时将markdown文本嵌入到能够展示markdown的html模板中。我们希望做到的是代码与文档强绑定,不然文档与代码会不同步,文档也不会及时被维护。所以,将markdown的help描述文档直接编码到程序中,文档的修改更新与程序的发布紧密结合。具体实现时,可以将h.

2020-11-14 12:42:38 161

原创 docker基础镜像的调研

docker基础镜像的调研镜像名称大小使用场景busybox1.15MB临时测试用alpine4.41MB主要用于测试。 基于musl libc和busyboxcentos200MB用于生产环境,常用于追求稳定性的企业应用ubuntu81.1MB用于生产环境,常用于人工智能计算和企业应用debian101MB主要用于生产环境在dockerhub中redis、mysql使用的基础镜像都是debian:buster-slim(只有debi

2020-11-11 21:38:37 309

原创 实现shell文件夹历史的前进后退

需要用到的知识点为按键映射命令ctrl + r命令可以在history搜索命令。类似的,借助于bind命令,我们也可以为组合按键定义自己的命令。像下面这样:bind -x '"\C-b":pwd' # ctrl + bbind -x '"\C-n":pwd' # ctrl + n我将ctrl + b ctrl + n都映射命令pwd。通过将以上代码加入~/.bashrc,在登录shell后就可始终生效。PROMPT_COMMAND环境变量Bash在显示[root@host /]之前先执行PR

2020-09-20 09:50:01 225

原创 c++最强开发环境——clion在windows开发linux程序

文章目录通过samba将linux文件夹映射挂载成windows盘符,clion打开映射磁盘上的c++代码项目。clion编辑代码后在linux上编译境界二 在本地安装linux虚拟机,虚拟机和windows共享文件夹,在虚拟机中编译。境界三 利用win10的linux子系统(杀手锏)如何在windows子linux上启动ssh解决cpp项目"在windows上开发,在linux下编译" 同步文...

2019-11-08 13:07:17 3415 1

原创 ascii' codec can'tdecode byte * in position *: ordinal not in range(128)

ascii' codec can'tdecode byte * in position 0: ordinal not in range(128)解决方案使用python3 代替 python 命令

2019-11-08 11:44:20 111

原创 c++分布式游戏服务器架构设计

文章目录一、游戏服务器架构介绍1.1 游戏服务器介绍1.2 服务的划分1.3 服务与服务之间的通讯二、单个服务的并发2.1 多线程并发问题2.2 使用单线程协程并发三、数据库的选择与使用3.1 非关系型数据库-Redis3.2 关系型数据库-MYSQL3.3 Redis中不活跃数据的迁移四、玩家数据存储、同步的设计4.1 Protobuf介绍4.2 玩家数据存储4.3 玩家数据的同步五、日志模块的...

2019-09-30 08:59:29 7412 4

原创 c++ 像mybatis一样的写mysql

cpp easy sqlcpp easy sql简介将sql语句与代码分离解耦,存放于xml配置文件中用逻辑标签控制SQL的拼接查询的结果集与C++对象自动映射实现cpp_xml.py 将xml定义的sql语句转成c++代码sql_handler.h 定义了两组执行sql、获取结果的接口。分别是ColumnIndexSqlHandler通过index获取结果、ColumnLab...

2019-07-30 17:50:08 2202

原创 redis的主从复制

redis的主从复制对主从的理解主从首先应该只有一个主,一个或多个从。主从的两个主要作用是1、备份2、一个写多个读使用只是想使用备份,那么一主两个从应该就可以了。对于数据的读操高于写数倍的场景使用多个从的收益会比较高的, 如果从太多master的负载可能会比较高。。可以在为从服务器设置从服务器, 这样就可以减少master的压力,合理扩展从服务器的个数主从的实现同步的两种方式...

2019-01-24 10:03:14 79

原创 放弃c++实现redis,开始阅读redis源码

放弃c++实现redis,开始阅读redis源码放弃c++实现redis对c++的热爱非计算机专业出身的我,一开始接触到的是c语言,后来也就自然的接触到了c++。从c++ primer到effective c++、到stl源码解析、modern effective c++,从中我领阅到了c++的精彩c++实现redis想法的起源第一次接触到redis,是在一个游戏项目中,那时就看了一本r...

2019-01-24 09:51:37 746

原创 flatbuffer编码的内存的结构

这是我对flatbuffer内存结构的一些分析,希望可以帮助大家更好的使用flatbuffer,文章地址见如下连接flatbuffer编码的内存的结构

2018-11-07 11:14:20 3026

原创 C++实现defer

#pragma once#include <functional>#define CONNECTION(text1,text2) text1##text2#define CONNECT(text1,text2) CONNECTION(text1,text2)class DeferHelper { public: DeferHelper(std::functio...

2018-09-14 10:02:03 1048 1

正则表达式必知必会

全球技术人员正则表达式入门首选,紧贴实战需求,让你在勤劳的路上就可以掌握编程利器

2018-12-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除