
架构、运维
ScratKong
劝君惜取少年时
展开
-
wsgi、uwsgi概念及作用
WEB服务器与WEB应用web服务器:用来处理客户端的HTTP请求,并发送响应。 web应用:用来处理客户端的动态请求,并返回给web服务器。WSGI协议为啥要用WSGI ?下面三张图一目了然:图1图2图3首先弄清下面几个概念:WSGI:全称是Web Server Gateway Interface,WSGI不是服务器,python模块,框架,A...转载 2018-08-11 20:09:47 · 3508 阅读 · 0 评论 -
计算密集型、IO密集型、数据密集型
计算密集型(CPU-Intensive)1、特点:要进行大量的计算,消耗CPU资源。比如计算圆周率、对视频进行高清解码等等,全靠CPU的运算能力。2、计算密集型任务虽然也可以用多任务完成,但是任务越多,花在任务切换的时间就越多,CPU执行任务的效率就越低,所以,要最高效地利用CPU,计算密集型任务同时进行的数量应当等于CPU的核心数。3、计算密集型任务由于主要消耗CPU资源,因此,代码...转载 2018-12-10 22:11:48 · 24407 阅读 · 0 评论 -
LVS负载均衡(LVS简介、三种工作模式、十种调度算法)
一、LVS简介 LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中。该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案,其体系结构如图1所示,终端互联网用户从外部访问公司的外部负载均衡服务器,终端用户的Web请求会发送给LVS调度器,调度器根据自己预设的算法决定将该...转载 2019-01-06 11:03:49 · 282 阅读 · 0 评论 -
运维管理工具的对比Puppet、Chef、Ansible和SaltStack、Fabric
分布式是一个发展的趋势,无论是大型网站的负载均衡架构还是大数据框架部署,以及云存储计算系统搭建都离不开多台服务器的连续部署和环境搭建。当我们的基础架构是分散式或者基于云的,并且我们经常需要处理在大部分相同的服务器上频繁部署大致相同的服务时,我们就应该考虑自动化配置和维护了。让用户极容易配置和维护数十台、数百台、乃至数千台服务器。幸运的是,现在有很多运维管理工具是为此目的而设计的,它们能够...转载 2019-01-02 17:34:17 · 912 阅读 · 0 评论 -
Django依赖文件requirements.txt生成/安装
依赖文件生成pip freeze > requirements.txt依赖文件安装pip install -r requirement.txt转载 2019-01-13 19:22:19 · 346 阅读 · 0 评论 -
kubernetes(k8s)基础 (一)什么是 kubernetes
kubernetes:名字来源于希腊语, 意思为舵手或领航员。容器集群管理系统,一个可以实现容器集群自动化部署、扩缩容、维护等功能的开源平台。作用:快速部署应用 快速扩展应用 无缝对接新的应用功能 节省资源,优化硬件资源的使用 kubernetes特点可移植:支持公有云,私有云,混合云,多重云。 可扩展:模块化,插件化,可挂载,可组合。 自动化:自动部署,自动...转载 2019-01-21 14:29:10 · 406 阅读 · 0 评论 -
开发人员看测试之TDD和BDD
Behavior Driven Development,行为驱动开发是一种敏捷软件开发的技术,它鼓励软件项目中的开发者、QA和非技术人员或商业参与者之间的协作。在了解Behavior Driven Development之前,先介绍Test-Driven Development(TDD)即测试驱动开发,它是一种测试先于编写代码的思想用于指导软件开发。测试驱动开发是敏捷开发中的一项核心实践和技...转载 2019-06-05 21:56:13 · 808 阅读 · 0 评论 -
Shell基础篇
1 shell简介在计算机科学中,Shell就是一个命令解释器。shell是位于操作系统和应用程序之间,是他们二者最主要的接口,shell负责把应用程序的输入命令信息解释给操作系统,将操作系统指令处理后的结果解释给应用程序。一句话,shell就是在操作系统和应用程序之间的一个命令翻译工具。1.1 shell的分类基本上shell分两大类:图形界面shell和命令行sh...原创 2019-07-22 16:06:55 · 705 阅读 · 0 评论 -
Paxos算法的通俗理解
维基Paxos算法的简介:莱斯利·兰伯特(Leslie Lamport,就是 LaTeX 中的"La",现在在微软研究院)于1990年提出的一种基于消息传递且具有高度容错特性的一致性算法。Paxos算法目前在Google的Chubby、MegaStore、Spanner等系统中得到了应用,Hadoop中的ZooKeeper也使用了Paxos算法,在上面的各个系统中,使用的算法与Lamport提...转载 2018-12-10 15:32:12 · 247 阅读 · 0 评论 -
Kafka与rabbitMQ、activeMQ、zeroMQ、Redis 比较
Kafka作为时下最流行的开源消息系统,被广泛地应用在数据缓冲、异步通信、汇集日志、系统解耦等方面。相比较于RocketMQ等其他常见消息系统,Kafka在保障了大部分功能特性的同时,还提供了超一流的读写性能。针对Kafka性能方面进行简单分析,相关数据请参考:https://segmentfault.com/a/1190000003985468,下面介绍一下Kafka的架构和涉及到的名词:...转载 2018-12-10 12:00:03 · 359 阅读 · 0 评论 -
Celery详解
Celery介绍Celery是一个功能完备即插即用的任务队列。它使得我们不需要考虑复杂的问题,使用非常简单。celery看起来似乎很庞大,先对其进行简单的了解,然后再去学习其他一些高级特性。 celery适用异步处理问题,当发送邮件、或者文件上传, 图像处理等等一些比较耗时的操作,我们可将其异步执行,这样用户不需要等待很久,提高用户体验。 celery的特点是:简单,易于使用和维护,有丰富...转载 2018-08-27 23:11:01 · 1332 阅读 · 0 评论 -
10张图带你深入理解Docker容器和镜像
10张图带你深入理解Docker容器和镜像【编者的话】本文用图文并茂的方式介绍了容器、镜像的区别和Docker每个命令后面的技术细节,能够很好的帮助读者深入理解Docker。这篇文章希望能够帮助读者深入理解Docker的命令,还有容器(container)和镜像(image)之间的区别,并深入探讨容器和运行中的容器之间的区别。 当我对Docker技术还是一知半解的时候,我发现理解...转载 2018-08-19 22:01:14 · 186 阅读 · 0 评论 -
Docker
Docker简介1. 虚拟化1)什么是虚拟化在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种 实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计 算能力和...原创 2018-08-14 22:41:45 · 283 阅读 · 0 评论 -
消息中间件之RabbitMQ
市面上的消息队列产品有很多,如老牌的 ActiveMQ、RabbitMQ ,目前我看最火的 Kafka ,还有 ZeroMQ ,去年底阿里巴巴捐赠给 Apache 的 RocketMQ ,连redis 这样的 NoSQL 数据库也支持 MQ 功能。总之这块知名的产品就有十几种,本文讲一下RabbitMQ。消息中间件消息(Message)是指在应用间传送的数据。消息可以非常简单,比如只...转载 2018-09-14 17:05:04 · 274 阅读 · 0 评论 -
Redis与RabbitMQ作为消息队列的比较
本文仅针对RabbitMQ与Redis做队列应用时的情况进行对比具体采用什么方式实现,还需要取决于系统的实际需求 简要介绍 RabbitMQRabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之...转载 2018-09-14 17:08:09 · 275 阅读 · 0 评论 -
什么是Kubernetes?
什么是Kubernetes?Kubernetes(k8s)是自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展。如果你曾经用过Docker容器技术部署容器,那么可以将Docker看成Kubernetes内部使用的低级别组件。Kubernetes不仅仅支持Docker,还支持Rocket,这是另一种容器技术。使用Kubernetes可以:自动化容器的部署和复制 随时扩...转载 2018-10-24 21:16:42 · 268 阅读 · 0 评论 -
高性能高并发服务的瓶颈及突破思路
关于高性能高并发服务这个概念大家应该也都比较熟悉了,今天为大家带来如何做一个高性能高并发服务架构的实践和思考。本次分享主要包括三个部分:服务的瓶颈有哪些 如何提升整体服务的性能及并发 如何提升单机服务的性能及并发服务的瓶颈有哪些通常来说程序的定义是算法+数据结构+数据,算法简单的理解就是一种计算方式,数据结构顾名思义是一种存储组织数据的结构。这两者体现了程序需要用到的计算...转载 2018-11-19 21:58:54 · 368 阅读 · 0 评论 -
聊聊分布式事务,再说说解决方案
前言分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在微服务架构中,几乎可以说是无法避免,本文就分布式事务来简单聊一下。数据库事务在说分布式事务之前,我们先从数据库事务说起。 数据库事务可能大家都很熟悉,在开发过程中也会经常使用到。但是即使如此,可能对于一些细节问题,很多人仍然不清楚。比如很多人都知道数据库事务的几个特性:原子性(Atomic...转载 2018-12-12 17:33:43 · 207 阅读 · 0 评论 -
kafka入门:简介、使用场景、设计原理、主要配置及集群搭建(转)
问题导读:1.zookeeper在kafka的作用是什么?2.kafka中几乎不允许对消息进行“随机读写”的原因是什么?3.kafka集群consumer和producer状态信息是如何保存的?4.partitions设计的目的的根本原因是什么? 一、入门 1、简介 Kafka is a distributed,partitioned,replicat...转载 2018-12-09 18:38:11 · 188 阅读 · 0 评论