![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
后台组件
文章平均质量分 69
后台技术栈
xiaohei_xiaobai
后台开发小学生
展开
-
docker
文章目录1.镜像和容器2.构建flask项目3.导出requirements4.gunicorn配置文件5.编写Dockerfile6.构建image6.查看image文件7.删除image8.上传image文件到仓库9.拉取image文件10.运行容器11.查看本机容器12.停止运行的容器13.删除容器14.实际构建过程15.其他常用命令16.docker, kubernetes(k8s),rancher关系16.安装rancher1.镜像和容器Docker把应用程序及其依赖,打包在 image 文件原创 2021-03-23 15:33:30 · 244 阅读 · 0 评论 -
nginx
文章目录1.正向代理:代理客户端2.反向代理:代理服务端3.负载均衡4.静态资源服务器5.nginx常用命令6.nginx配置7.nginx原理 [详情点击](https://blog.csdn.net/qianlia/article/details/106496227)1.正向代理:代理客户端服务端不知道真实的用户是谁:比如科学上网服务器,国外搭建一个服务器,然后国内通过访问这台服务器来访问谷歌2.反向代理:代理服务端客户端不知道真实的服务端是谁:比如nginx,客户端访问nginx,nginx原创 2021-03-23 15:31:21 · 222 阅读 · 1 评论 -
grpc-python
文章目录1.什么是RPC2.RPC调用过程3.RPC的实现基础4.GRPC和restful对比5.proto buffers常用数据类型6.proto buffers特殊字符7.GRPC常用错误码8.Protocol Buffer的优点9.rpc框架为我们解决的问题10.使用案例11.手撕RPC1.什么是RPCRPC就是从一台机器(客户端)上通过参数传递的方式调用另一台机器(服务器)上的一个函数或方法(可以统称为服务)并得到返回的结果。简言之,RPC使得程序能够像访问本地系统资源一样,去访问远端系统资原创 2021-03-23 15:30:31 · 1026 阅读 · 1 评论 -
场景设计
文章目录1.怎样保证redis队列不丢失2.分库分表平滑扩容3.千万并发分数排行榜4.抖音评论系统:首先分库分表5.延时队列(未付款半个小时的订单自动取消)6.众包系统7.秒杀超卖问题8.三分钟内得分统计,相同分数按答题所用时间少的高9.微信朋友圈10.微信附近的人11.短链接生成:分享短连接1.怎样保证redis队列不丢失本身我们业务对任务丢失是有容忍的异常处理或超时处理时再次将任务写进任务队列安全队列2.分库分表平滑扩容3.千万并发分数排行榜4.抖音评论系统:首先分库分表1.评论表:i原创 2021-03-23 15:27:40 · 152 阅读 · 0 评论 -
操作系统相关
文章目录1.进程,线程,协程概念2.进程与线程区别3.协程与线程区别4.进程,线程,协程4.python并发原子性6.并行,并发7.golang的协程--GPM模型(M:N)8.python的协程9.计算机基础10.mesi11.cas(Compare and Swap)12.linux创建进程的方式13.Gunicorn [详情查看](https://blog.csdn.net/dadajuan_plus/article/details/106571287)14.gevent [详情查看](https原创 2021-03-05 15:30:44 · 210 阅读 · 0 评论 -
计算机网络相关
文章目录1.网络分层2.每层的协议3.TCP三次握手4.TCP四次挥手5.为什么客户端在TIME-WAIT阶段要等2MSL?6.为什么TCP链接需要三次握手,两次不可以么,为什么?7.TCP协议如何来保证传输的可靠性8.TCP与UDP的区别9.TCP的拥塞处理10.当你输入一个网址/点击一个链接,发生了什么 [详情点击](https://www.bilibili.com/video/BV1V54y1y7c4?p=1)11.长连接和短连接12.http状态码13.常见的请求头14.同源策略15.http m原创 2021-03-05 15:29:21 · 323 阅读 · 0 评论 -
一文掌握kafka面试题
文章目录1.mq模式2.kafka架构3.kafka配置4.segment5.生产者策略6.生产者高可用方案7.消费者8.kafka效率高的原因9.Zookeeper在Kafka中的作用10.事务11.Kafka中是怎么体现消息顺序性的12.Kafka中的分区器、序列化器、拦截器是否了解?它们之间的处理顺序是什么?13.Kafka生产者客户端的整体结构是什么样子的?使用了几个线程来处理?分别是什么?14.消费组中的消费者个数如果超过topic的分区,那么就会有消费者消费不到数据”这句话是否正确?15.副本数原创 2021-03-05 15:26:27 · 239 阅读 · 0 评论 -
大数据思想
文章目录1.堆TOP N问题分布式TOP N问题快速外排序问题公共数据问题内存内TOP N问题位图法1.堆1)大根堆: 插入一个元素:新元素被加入到heap的末尾,然后更新树以恢复堆的次序。 取走堆顶元素:堆中每次都删除第0个数据。为了便于重建堆,实际的操作是将最后一个数据的值赋给根结点,然后再从根结点开始进行一次从上向下的调整。2)小根堆 同上TOP N问题如何在海量数据中找出重复最多一个。通过hash映射为小文件通过hash_map统计各个小文件重读最原创 2021-03-05 15:23:29 · 140 阅读 · 0 评论 -
一文掌握全部redis面试题
1.redis持久化机制1)实现:单独创建fork()一个子进程,将当前父进程的数据库数据复制到子进程的内存中, 然后由子进程写入到临时文件中,持久化的过程结束了, 再用这个临时文件替换上次的快照文件,然后子进程退出,内存释放。2)RDB(默认):按照一定的时间周期策略把内存的数据以快照的形式保存到硬盘的二进制文件。 对应产生的数据文件为dump.rdb,通过配置文件中的save参数来定义快照的周期。 (快照可以是其所表示的数据的一个副本.原创 2020-12-08 17:10:45 · 396 阅读 · 0 评论 -
使用redis锁的正确姿势
redis锁的使用方式一般有三种,INCR,SETNX,SET。1.INCRINCR命令会将key的值加一,如果key值不存在,则key值会被初始化为0,然后执行INCR操作。127.0.0.1:6379> GET LOCK_1234(nil)127.0.0.1:6379> INCR LOCK_1234(integer) 1127.0.0.1:6379> GET LOCK_1234"1"利用INCR命令,结合程序构建锁,具体使用逻辑如下:1)创建程序中需要加原创 2020-05-19 16:20:49 · 766 阅读 · 0 评论 -
一文读懂redis五大数据类型的底层实现
redis有五大数据类型,字符串对象(string)、列表对象(list)、哈希对象(hash)、集合(set)对象和有序集合对象(zset),redis构建了一个对象系统,每个数据类型都是一个对象,由于redis是key,value的形式存储的,所以每新建一个数据,系统就会新建两个对象,一个是key对象,一个是value对象,每个对象有五个属性,如下:typedef struct redisObject{ //类型 unsigned type:4; //编码原创 2020-05-11 21:00:38 · 878 阅读 · 0 评论 -
RPC框架Thrift-python服务端运行模式源码解析
1.支持协议TBinaryProtocol-一种简单的二进制格式,将数值编码为二进制,而不是转换为文本。 TCompactProtocol-高效,密集的数据编码(请参见下面的详细信息)。 TDenseProtocol-类似于TCompactProtocol,但是从传输的内容中剥离元信息,并将其添加回接收方。TDenseProtocol仍处于试验阶段,在Java实现中尚不可用。 TJSON...原创 2020-04-26 18:32:23 · 537 阅读 · 0 评论 -
RPC框架Thrift-python作为服务端支持的传输方式
TSocket-使用阻塞套接字I/O进行传输。 TFramedTransport-以帧为单位发送数据,其中每个帧前面都有一个长度。使用非阻塞服务器时,此传输是必需的。 TFileTransport-此传输将写入文件。尽管此传输不包含在Java实现中,但实现起来应该足够简单。 TMemoryTransport-使用内存进行I / O。Java实现在内部使用一个简单的ByteArrayOutpu...原创 2020-04-26 18:28:34 · 619 阅读 · 0 评论 -
RPC框架Thrift-python作为服务端支持的传输协议
TBinaryProtocol-一种简单的二进制格式,将数值编码为二进制,而不是转换为文本。 TCompactProtocol-高效,密集的数据编码(请参见下面的详细信息)。 TDenseProtocol-类似于TCompactProtocol,但是从传输的内容中剥离元信息,并将其添加回接收方。TDenseProtocol仍处于试验阶段,在Java实现中尚不可用。 TJSONProtocol...原创 2020-04-26 18:27:23 · 534 阅读 · 0 评论 -
thrift使用--python版本
RPC(Remote Procedure Call)即远程过程调用,目前主流的rpc框架对比如下:功能 Hessian Montan rpcx gRPC Thrift Dubbo Dubbox Spring Cloud 开发语言 跨语言 Java Go 跨语言 跨语言 Java Jav...原创 2020-04-24 17:56:51 · 1021 阅读 · 2 评论 -
gRPC+python+Protobuf简明教程
这老哥写的贼6https://www.jianshu.com/p/b723053a86a6https://www.jianshu.com/p/9c947d98e192转载 2020-04-15 20:36:20 · 759 阅读 · 0 评论 -
redis数据类型及其应用场景
1.stringRedis的字符串是动态字符串(SDS),是可以修改的字符串,它的内部表示就是一个字符数组,它的内部结构是一个带长度信息的字节数组,可以包含任何数据。使用场景:string类型使用场景2.hash相当于python中的dict。使用场景:适合存储json对象等。3.list详单于python中的list。使用场景:消息队列4.set相当于py...原创 2020-04-14 19:15:45 · 156 阅读 · 0 评论 -
redis-HyperLogLog基数统计
redis在2.8.9 版本添加了 HyperLogLog 数据结构,用于统计非重复数据个数,这个功能利用redis的set也能实现,但是为什么还要提供HyperLogLog呢?原因在于如果有时我们只需要计算基数个数,不要存储具体的数据时,数据量很大,如果利用set会浪费很大的内存消耗,但是HyperLogLog的有点时,他所需要的内存空间不会随着数据量的增大而增大,当统计元素很少时,HyperL...原创 2020-04-14 20:43:29 · 176 阅读 · 0 评论