刷新
从 docker 到 runC

博主头像 笔者在前文《RunC 简介》和《Containerd 简介》中分别介绍了 runC 和 containerd。本文我们将结合 docker 中的其它组件探索 docker 是如何把这些组件组织起来协调工作的。 Docker 的主要组件 安装 docker ,其实是安装了 docker 客户端、doc ...

从架构特点到功能缺陷,重新认识分析型分布式数据库

本文是分布式数据库的总纲文章的第一部分,列举了三类不同技术方案(MPP/Hadoop/Mesa),主要探讨分析性分布式数据库的发展和技术差异;后续的第二部分则是交易性数据库的一些关键特性分析。Ivan开始计划的分布式数据库是不含分析场景的,所以严格来说本篇算是番外篇,后续待条件具备将以独立主题的方式... ...

【原创】分布式之数据库和缓存双写一致性方案解析

博主头像 引言 为什么写这篇文章? 首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。 但是在更新缓存方面,对于更新完数据库,是更新缓存呢,还是删除缓存。又或者是先删除缓存,再更新数据库,其实大家存在很大的争议。目前没有一篇全面的博客 ...

【原创】分布式之消息队列复习精讲

博主头像 引言 为什么写这篇文章? 博主有两位朋友分别是小A和小B: 1. 小A,工作于传统软件行业(某社保局的软件外包公司),每天工作内容就是和产品聊聊需求,改改业务逻辑。再不然就是和运营聊聊天,写几个SQL,生成下报表。又或者接到客服的通知,某某功能故障了,改改数据,然后下班部署上线。每天过的都是这种生活 ...

.net环境下跨进程、高频率读写数据

博主头像 一、需求背景 1、最近项目要求高频次地读写数据,数据量也不是很大,多表总共加起来在百万条上下。 单表最大的也在25万左右,历史数据表因为不涉及所以不用考虑, 难点在于这个规模的热点数据,变化非常频繁。 数据来源于一些检测设备的采集数据,一些大表,有可能在极短时间内(如几秒钟)可能大部分都会变化, 而 ...

微服务化的基石——持续集成

博主头像 本文由 网易云 发布。 作者:刘超,网易云解决方案架构师 一、持续集成对于微服务的意义:拆之前要先解决合的问题 在很多微服务化的文章中,很少会把持续集成放在第一篇,因为大多数的文章都会将如何拆的问题,例如拆的粒度,拆的时机,拆的方式。 为什么需要拆呢?因为这是人类处理问题的本质方式:将一个大的复杂问 ...

在 .NET Core 中使用 DiagnosticSource 记录跟踪信息

博主头像 前言 最新一直在忙着项目上的事情,很久没有写博客了,在这里对关注我的粉丝们说声抱歉,后面我可能更多的分享我们在微服务落地的过程中的一些经验。那么今天给大家讲一下在 .NET Core 2 中引入的全新 DiagnosticSource 事件机制,为什么说是全新呢? 在以前的 .NET Framewo ...

阿里云ECS的CPU100%排查

博主头像 一、背景和现象 初创公司,架构lanmp,web前端和后端分开服务器,业务驱动主要是nginx和apache,nginx主要是处理静态文件和反向代理,前后端、搜索引擎、缓存、队列等附加的服务都是用docker容器部署。因为比较初级,上传文件和采集文件都是直接写在硬盘上,涉及到的目录共享,就在其中一台 ...

深入学习Redis(1):Redis内存模型

博主头像 前言 Redis是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说Redis是实现网站高并发不可或缺的一部分。 我们使用Redis时,会接触Redis的5种对象类型(字符串、哈希、列表、集合、有序集合),丰富的类型是Redis相对于Memcached等的一大优势。在了解R ...

十倍效能提升——Web 基础研发体系的建立

博主头像 1 导读 web 基础研发体系指的是, web 研发中一线工程师所直接操作的技术、工具,以及所属组织架构的总和。在过去提升企业研发效能的讨论中,围绕的主题基本都是——”通过云计算、云存储等方式将底层核心技术封装成基础设施“。而我们在实践中发现,在 互联网渗入到各行各业,业务爆发 企业竞争白热化,对速 ...

Golang的CSP很酷?其实.NET也可以轻松完成

博主头像 说起Golang(后面统称为Go),就想到他的高并发特性,在深入一些就是 Goroutine。在大家被它优雅的语法和简洁的代码实现的高并发程序所折服时,其实C#/.NET也可以很容易的做到。今天我们来参照Go,来用C#实现它所采用的的CSP并发模型。CSP(Communicating sequent... ...

不是技术也能看懂云计算,大数据,人工智能

博主头像 我今天要讲这三个话题,一个是云计算,一个大数据,一个人工智能,我为什么要讲这三个东西呢?因为这三个东西现在非常非常的火,它们之间好像互相有关系,一般谈云计算的时候也会提到大数据,谈人工智能的时候也会提大数据,谈人工智能的时候也会提云计算。所以说感觉他们又相辅相成不可分割,如果是非技术的人员来讲可能比 ...

记一次内存溢出的分析经历——thrift带给我的痛orz

博主头像 说在前面的话 朋友,你经历过部署好的服务突然内存溢出吗? 你经历过没有看过Java虚拟机,来解决内存溢出的痛苦吗? 你经历过一个BUG,百思不得其解,头发一根一根脱落的烦恼吗? 我知道,你有过! 但是我还是要来说说我的故事.................. 背景: 有一个项目做一个系统,分客户端和 ...

机器学习漫游(1) 基本设定

博主头像 最近的十几年机器学习很是火热,尤其是其中的一个分支深度学习在工业界取得很好应用,吸引了很多眼球。不过从其历程来看,机器学习的历史并不短暂~从早期的感知机到八十年代火热的神经网络,再到九十年代被提出的经典算法集成学习和支持向量机;而最近的十年算得上是机器学习发展的黄金年代,软、硬件计算条件大幅提高,尤 ...

高可用Redis服务架构分析与搭建

基于内存的Redis应该是目前各种web开发业务中最为常用的key-value数据库了,我们经常在业务中用其存储用户登陆态(Session存储),加速一些热数据的查询(相比较mysql而言,速度有数量级的提升),做简单的消息队列(LPUSH和BRPOP)、订阅发布(PUB/SUB)系统等等。规模比较 ...

Android组件化框架设计与实践

博主头像 在目前移动互联网时代,每个 APP 就是流量入口,与过去 PC Web 浏览器时代不同的是,APP 的体验与迭代速度影响着用户的粘性,这同时也对从事移动开发人员提出更高要求,进而移动端框架也层出不穷。 上图显示的是传统的服务端架构和客户端 App 架构对比。传统的服务端架构中最底下是一个 OS,一般 ...

科普:String hashCode 方法为什么选择数字31作为乘子

博主头像 1. 背景 某天,我在写代码的时候,无意中点开了 String hashCode 方法。然后大致看了一下 hashCode 的实现,发现并不是很复杂。但是我从源码中发现了一个奇怪的数字,也就是本文的主角31。这个数字居然不是用常量声明的,所以没法从字面意思上推断这个数字的用途。后来带着疑问和好奇心, ...

超高性能管线式HTTP请求(实践·原理·实现)

博主头像 这里的高性能指的就是网卡有多快请求发送就能有多快,基本上一般的服务器在一台客户端的压力下就会出现明显延时。 该篇实际是介绍pipe管线的原理,下面主要通过其高性能的测试实践,解析背后数据流量及原理。最后附带一个简单的实现 实践 先直接看对比测试方法 测试内容单一客户的使用尽可能快的方式向服务器发送一 ...

<1···456···82>