3.5 IO 对比总结 IO 的方式通常分为几种:同步阻塞的 BIO、同步非阻塞的 NIO、异步非阻塞的 AIO。 l BIO 方式适用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高,并 发局限于应用中,JDK1.4 以前的唯一选择,但程序直观简单易理解。 l NIO 方式适用于连接数 ...
分类:
其他好文 时间:
2020-07-28 14:04:32
阅读次数:
71
1. 主从复制简介 1.1 互联网“三高”架构 高并发 高性能 高可用 1.2 Redis是否高可用 单机redis的风险与问题 问题1.机器故障 现象:硬盘故障、系统崩溃 本质:数据丢失,很可能对业务造成灾难性打击 结论:基本上会放弃使用redis. 问题2.容量瓶颈 现象:内存不足,从16G升级 ...
分类:
其他好文 时间:
2020-07-28 13:52:15
阅读次数:
69
摘要数据库拆分要根据业务现状、模式,选择合适的拆分方式,紧密结合业务及应用架构设计,谨慎拆分,防止过度设计。正文一、为什么要做分布式数据库架构改造?云计算大数据时代,传统的数据库架构已经无法支撑企业高容量的数据增长,满足高并发的业务需求。对企业数据库进行分布式架构设计,打破了数据库资源不够用的天花板的同时,还能根据企业业务发展状况,随时平滑扩容。二、分布式数据库架构改造,如何做?数据库分布式改造要
分类:
数据库 时间:
2020-07-28 00:10:44
阅读次数:
105
一.cdn加速 简单说就是把静态资源放到别人服务器上 全称:Content Delivery Network或Content Ddistribute Network,即内容分发网络 基本思路: 尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置 ...
分类:
编程语言 时间:
2020-07-27 23:55:07
阅读次数:
82
Nginx教程(一) Nginx入门教程 1 Nginx入门教程 Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行。由俄罗斯的程序设计师IgorSysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Р ...
分类:
其他好文 时间:
2020-07-27 23:33:49
阅读次数:
69
OpenResty 简介 OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。 OpenResty 基于 Nginx ...
分类:
其他好文 时间:
2020-07-27 09:42:44
阅读次数:
84
前言 首先,要明确一点,高并发场景下系统的瓶颈出现在哪里,其实主要就是数据库,那么就要想办法为数据库做层层防护,减轻数据库的压力。 1. 业务场景 1. 秒杀频道首页列出秒杀商品,点击秒杀商品图片可以跳转到秒杀商品详细页面 2. 商品详细页面显示秒杀商品信息,点击立即抢购实现秒杀下单,下单时扣减库存 ...
分类:
其他好文 时间:
2020-07-26 01:05:23
阅读次数:
72
在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。本文结合作者的一些经验介绍限流的相关概念、算法和常规的实现方式。 限流的算法常见的限流算法有:计数器、漏桶和令牌桶算法。 计数器计数器是最简单粗暴的算法。比如某个服务最多只能每秒钟处理100个请求。我们可以设置一个1秒钟的滑动窗口,窗口中有 ...
分类:
其他好文 时间:
2020-07-24 23:44:20
阅读次数:
94
简介:redis作为目前非常主流的key-value型内存数据库,得到了业界广泛的认可与使用。我们可以使用redis作为系统中的缓存数据库,减轻系统压力,也可以使用redis来实现分布式锁。 优点: 对数据高并发读写 对海量数据的高效率存储和访问 对数据的可扩展性和高可用行 缺点: redis(AC ...
前言 传统socket编程中服务端一般为每一个客户端开启一个线程(一对一)。这样虽然可以使程序的结构简单明了并且方便对数据处理,但是这些都是建立在创建多个线程的基础上,也就是以牺牲线程为代价。一旦有大量数量了客户端连接服务端,我们的服务端需要开启很多线程这显然是不能被我们所接受的。那么为了解决这个问 ...
分类:
其他好文 时间:
2020-07-24 09:57:03
阅读次数:
95