随笔分类 -  高并发思考

摘要:优点 该解决方案具有许多优点: 支持大型复杂应用程序的连续交付和部署。 改进的可维护性 每个服务都相对较小,因此更易于理解和更改 更好的可测试性 服务更小,测试更快 更好的可部署性 服务可以独立部署 它使您可以围绕多个自治团队组织开发工作。每个(所谓的两个披萨)团队都拥有并负责一项或多项服务。每个团 阅读全文
posted @ 2019-11-25 13:11 达芬奇vinic 阅读(420) 评论(0) 推荐(0) 编辑
摘要:CAP 定理 CAP 必须满足以下的 3 个属性: 一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本) 可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。(对数据更新具备高可用性) 分区容错性(P):以实际效果而 阅读全文
posted @ 2019-11-23 15:26 达芬奇vinic 阅读(1043) 评论(0) 推荐(0) 编辑
摘要:需求起因 在高并发的业务场景下,数据库大多数情况都是用户并发访问最薄弱的环节。所以,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问MySQL等数据库。 这个业务场景,主要是解决读数据从Redis缓存,一般都是按照下图的流程来进行业务操作。 读取缓存步骤一般没有什么问题, 阅读全文
posted @ 2019-11-23 14:52 达芬奇vinic 阅读(466) 评论(0) 推荐(0) 编辑
摘要:使用redis作为mysql缓存数据库流程: 先读缓存数据,缓存数据有,则立即返回结果;如果没有数据,则从数据库读数据,并且把读到的数据同步到缓存里,提供下次读请求返回数据。 虽说这样能减轻数据库压力,但是如果修改删除数据,在多线程高并发的场景下会有可能导致缓存和数据库数据不一致问题,那该如何解决呢 阅读全文
posted @ 2019-11-22 15:15 达芬奇vinic 阅读(3541) 评论(0) 推荐(0) 编辑
摘要:1. Redis是单线程的,省去了很多上下文切换线程的时间;(官方答案:因为Redis是基于内存的操作,CPU不是Redis的瓶颈,Redis的瓶颈最有可能是机器内存的大小或者网络带宽。既然单线程容易实现,而且CPU不会成为瓶颈,那就顺理成章地采用单线程的方案了。) 2. Redis在内存中存储,读 阅读全文
posted @ 2019-11-22 15:09 达芬奇vinic 阅读(194) 评论(0) 推荐(0) 编辑
摘要:对比结论 1. 性能上: 性能上都很出色,具体到细节,由于Redis只使用单核,而Memcached可以使用多核,所以平均每一个核上Redis在存储小数据时比Memcached性能更高。而在100k以上的数据中,Memcached性能要高于Redis,虽然Redis最近也在存储大数据的性能上进行优化 阅读全文
posted @ 2019-11-22 14:21 达芬奇vinic 阅读(679) 评论(0) 推荐(0) 编辑
摘要:环境:vmware centos7.4 2cpu 2核心 工具:ab压力测试工具 测试对象:sso单点登录系统 电脑:win10 4核 项目环境:flask+uwsgi+nginx(uwsgi 2进程,4线程) 1. 100个用户,总共100个请求 测试截图 2. 500个用户,总共500个请求 测 阅读全文
posted @ 2019-11-21 21:57 达芬奇vinic 阅读(1091) 评论(2) 推荐(1) 编辑
摘要:背景 项目采用微服务架构设计,独立商城系统,博客系统,搜索系统,sso单点系统部署在docker环境下 商城系统(django) 博客系统(flask) 搜索系统(es+flask+restful) sso(flask+wjt) 部署:centos7+uwsgi+nginx 压力测试工具:ab压力测 阅读全文
posted @ 2019-11-19 10:33 达芬奇vinic 阅读(828) 评论(0) 推荐(0) 编辑
摘要:对于受CPU限制的应用程序,增加了工作程序和/或内核。对于受I / O限制的应用程序,请使用“伪线程”。 Gunicorn是Python WSGI HTTP Server,通常驻留在反向代理(例如Nginx)或负载平衡器(例如AWS ELB)和Web应用程序(例如Django或Flask)之间。 1 阅读全文
posted @ 2019-11-15 11:28 达芬奇vinic 阅读(3955) 评论(0) 推荐(0) 编辑
摘要:1 概述 在使用 Django 进行 Web 开发时, 我们避免不了与数据库打交道。 当并发量低的时候, 不会有任何问题。 但一旦并发量达到一定数量, 就会导致 数据库的连接数会被瞬时占满。 这将导致一个严重的后果 ———— 其他应用, 或者 Django 本身的其他服务都无法访问数据库。 这是不可 阅读全文
posted @ 2019-11-15 10:09 达芬奇vinic 阅读(504) 评论(0) 推荐(0) 编辑
摘要:首先系统A去访问受限资源,跳转到sso认证中心https://login.sso.com/login?redirectURL=https://www.a.com/center,用户登录成功之后,sso认证中心生成一个令牌(如token)返回给系统A。 其实这时候,浏览器中存有两个Cookie,一个是 阅读全文
posted @ 2019-11-13 20:04 达芬奇vinic 阅读(1610) 评论(0) 推荐(0) 编辑
摘要:SSO介绍 SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。 方案 1. 可以配置tomcat的se 阅读全文
posted @ 2019-11-12 19:11 达芬奇vinic 阅读(340) 评论(0) 推荐(0) 编辑
摘要:介绍 JWT协议似乎已经应用十分广泛,JSON Web Token——一种基于token的json格式web认证方法。基本的原理是,第一次认证通过用户名密码,服务端签发一个json格式的token。后续客户端的请求都携带这个token,服务端仅需要解析这个token,来判别客户端的身份和合法性。JW 阅读全文
posted @ 2019-11-12 17:00 达芬奇vinic 阅读(794) 评论(0) 推荐(0) 编辑
摘要:分布式系统是当前比较热门的话题,说到分布式就不得不提集群和单机,如果要学习分布式就要先对他的概念和功能有所了解 分布式:高并发 集群:高可用 一、单机 单机就是把做的系统部署到一台服务器上,,所有的请求业务都由这台服务器处理。显然,当业务增长到一定程度的时候,服务器的硬件会无法满足业务需求。很多人就 阅读全文
posted @ 2019-11-12 09:33 达芬奇vinic 阅读(217) 评论(0) 推荐(0) 编辑
摘要:转载 结果 吞吐量(要求/秒) 响应时间(毫秒) 失误 吞吐量的标准偏差(要求/秒) 尽管uWSGI的性能在高负载下确实有些不稳定,但它看起来像Python应用服务器。uWSGI不仅速度快得离谱,而且从文档的角度来看,它为您提供了许多很棒的生产调整选项。 阅读全文
posted @ 2019-11-10 19:09 达芬奇vinic 阅读(2302) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示