路过浪人

22
获赞数
0
关注数
7
粉丝数
北京
IP 属地未知
2019-02-26 加入
浏览 6.4k

微信公众号:ArchWeek(互联网架构技术周刊)

75 声望|新手
php
27
cgi
19
c++
19
分布式
16
raft
15
黄金勋章
暂未获得该勋章
如何获得
白银勋章
暂未获得该勋章
如何获得
个人动态
  • 回答了问题2019-11-24
    raft协议,leader在commit了一条日志后,立刻挂了,那其他节点如何处理这条日志?
    1、首先给你一个网址:[链接],能够更加生动的看到Log Replication的过程。2、Commit的定义是当集群中大部分的节点(一半以上)响应了Leader的Log Replication操作之后才会被Commited。否则,Leader是不会像Client发送提交成功的响应的。提交操作并未真正Commit,Lea...
  • 发布了文章2019-08-12
    互联网架构技术周刊第二十一期
    架构原理 1、一文读懂高性能网络编程中的I/O模型 Linux系统中五种IO模型的实现机制和对比,可以期待一下更加完善的AIO的实践应用。 2、分布式事务解决方案汇总:2PC、消息中间件、TCC、状态机+重试+幂等 本文从实践角度总结了解决分布式事务问题,比较可靠的七种方法...
  • 发布了文章2019-05-24
    互联网架构技术周刊
    架构原理 1、浅谈几种常用负载均衡架构 文章概括了负载均衡技术分类、作用位置和负载均衡算法,以及每种技术的优缺点。 2、古典、SOA、传统、K8S、ServiceMesh 近几年微服务的思想和架构演化的速度非常快,经常是每年都有一个新的思想产生,从传统微服务思想起,近两...
  • 发布了文章2019-03-08
    [转载] Redis、MongoDB 及 MemCache 的区别
    Redis是一个key-value存储系统(布式内缓存,高性能的key-value数据库)。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及...
  • 发布了文章2019-03-01
    Redhat6.9/Cent6下源码安装samba4手把手实操
    由于Redhat6/Cent6操作系统属于骨灰级的操作系统,然而却老当益壮,在各大互联网公司内部仍有不少使用,下面就手把手记录下在rhel6下安装samba4的过程。
  • 发布了文章2019-02-27
    Proactor 与 Reactor
    在高性能的I/O设计中,有两个比较著名的模式Reactor和Proactor模式,其中Reactor模式用于同步I/O,而Proactor运用于异步I/O操作。
  • 发布了文章2019-02-27
    CGI,FASTCGI,PHP-CGI,PHP-FPM 概念
    Webserver会传那些基本信息给后端处理请求的解析器呢?url,get请求的query_string,POST数据,Http Header等,那么CGI就规定了要传哪些参数,以及以一个什么样的格式传过去,后端处理完这个请求,又该以什么样的格式传回。
  • 发布了文章2019-02-27
    AES128/ECB/PKCS5Padding 的实现
    AES的相关基础知识直接看WikiPedia:高级加密标准 附上 C/C++ 可用代码:AES_Cipher
  • 发布了文章2019-02-27
    In a nutshell: Tags are for overloading, for optimization.
    However it have O(n) complexity, which is not acceptable when you have a random_access_iterator. So you may change your design like this:
  • 发布了文章2019-02-27
    一幅图解释区块链结构
    先看比特币的核心特点:1)基于时间戳的链式区块结构;2)分布式节点间的共识机制;3)基于共识算力的经济激励;4)灵活可编程的智能合约机制。 再来谈区块链的重要特性:1)去中心化、完全分布式;2)点对点;3)共识机制;4)加密算法。 我认为区块链的基础技术两...
  • 发布了文章2019-02-27
    分布式系统的Raft算法
    Raft作为Paxos的简化版本,在工程领域有着更加广泛的应用。 本文转载的几篇文章对Raft的工作原理、实现方式进行了详细的介绍。 分布式系统的Raft算法 总结:目前几乎所有语言都已经有支持Raft算法的库包,具体可参考:raftconsensus.github.io 英文动画演示Raft CAP...
  • 发布了文章2019-02-27
    系统高可用设计与实践
    本ppt结合滴滴稳定性团队在QCON全球架构师峰会上的演讲,整理并在内部分享。基本对高可用设计体系和技术点做了全面的介绍。
  • 发布了文章2019-02-27
    限流算法之漏桶算法、令牌桶算法
    每个API接口都是有访问上限的,当访问频率或者并发量超过其承受范围时候,我们就必须考虑限流来保证接口的可用性或者降级可用性。即接口也需要安装上保险丝,以防止非预期的请求对系统压力过大而引起的系统瘫痪。
  • 发布了文章2019-02-27
    线上模块XX 在高QPS下耗时剧增的原因排查总结
    1、确定问题原因:1)场景复现:方式1:根据现场日志确定问题原因;方式2:压测复现。存在的问题:方式1:日志中没有保存现场;方式2:压测可能与线上不符;压测可能无法满足某些特殊条件。2)一些手段:a.如果问题只在特定机器出现,确定机器硬件配置是否相同,cpu...
  • 发布了文章2019-02-27
    C++中new的三种使用方法说明
    一、概念 在C++中new的三种用法包括:plain new, nothrow new 和 placement new。 plain new 就是我们最常使用的new的方式,在C++中的定义如下: {代码...} plain new在分配失败的情况下,抛出异常std::bad_alloc而不是返回NULL,因此通过判断返回值是否为NULL是徒...
  • 发布了文章2019-02-27
    PHP回收周期
    传统上,像以前的 php 用到的引用计数内存机制,无法处理循环的引用内存泄漏。然而 5.3.0 PHP 使用文章» 引用计数系统中的同步周期回收(Concurrent Cycle Collection in Reference Counted Systems)中的同步算法,来处理这个内存泄漏问题。
  • 发布了文章2019-02-27
    浅谈RPC
    从我们学习编程开始,就对『LPC』(local Procedure Call)十分熟悉,而PRC就是类似LPC的一种调用机制。在服务化、微服务化逐渐成为大中型分布式系统架构的主流方式的过程中,RPC作为基本通用服务成为系统标配的一部分。
  • 发布了文章2019-02-27
    模块融合中的一些思考
    模块拆分通常并非架构RD因重构而自发的,新的业务需求或产品线要求快速上线,从现有成熟模块迁移过来,稍加改动就能实现目标,这常常皆大欢喜。然而,随着不同产品线架构的迭代和调整,两个同源模块的差异越来越大,但各个模块内部似乎仍能保持良好的框架和模块。
  • 发布了文章2019-02-27
    传统软件行业与互联网行业对比
    先来背景介绍:我所在传统软件行业主要从事军工方向信息系统设计及研发工作,在大型型号项目中作为总体或主要研发单位;互联网行业即在百度做网页搜索相关工作。
  • 发布了文章2019-02-27
    搜索前端技术概述
    搜索在线系统分为三个部分,从用户发起检索请求后,历经web前端、检索前端和检索后端。本文主要介绍检索前端的技术架构和关注点。 为了尽量排除笔者所在公司具体技术的相关名词,下文对各个检索前端模块进行了抽象,下图是检索前端模块示意图。 Web前端除了FE相关工...