
架构
文章平均质量分 91
pushiqiang
学习分享
展开
-
云计算之虚拟化技术概述(KVM/Xen/Hyper-V/VMware)
虚拟化是云计算的基础。简单来说,虚拟化就是在一台物理服务器上,运行多台“虚拟服务器”。这种虚拟服务器,也叫虚拟机(VM,Virtual Machine)。从表面来看,这些虚拟机都是独立的服务器,但实际上,它们共享物理服务器的CPU、内存、硬件、网卡等资源。物理机,通常称为“宿主机(Host)”。虚拟机,则称为“客户机(Guest)”。谁来完成物理资源虚拟化的工作呢?就是大名鼎鼎的 Hypervisor。原创 2022-11-20 17:28:09 · 21850 阅读 · 1 评论 -
ZeroRPC应用
随着项目的发展,除了业务所在的WebService之外,有了内部系统的业务需求,涵盖客服财务统计报表等,在项目子系统篇中能看到详细的介绍。今天在这里要说的是系统间的桥梁:RPC(Remote Procedure Call)其实这也不是什么新鲜的概念,上世纪70年代就提出过理论,80年代就实际应用过。RPC多是用于对部署于其他主机或者网络空间的服务的请求。所以比作系统间的桥梁也是比较合适的。...转载 2018-07-16 21:54:47 · 1378 阅读 · 0 评论 -
Oauth2.0详解及安全使用
引言:刚刚参加工作的时候接到的第一个任务就是接入新浪的联合登录功能,当时新浪用的还是oauth1.0协议。接入的时候没有对oauth协议有过多的了解,只是按照开放平台的接入流程进行开发,当时还在想这么麻烦就是为了作一个登录功能?(为当年的无知汗颜...)。再后来上家公司需要开发一套自己的基于oauth2.0的联合登录功能,粗粗的看了下oauth2.0协议流程,自以为了解了便开始设计开发,现在来看真转载 2017-09-13 15:21:45 · 862 阅读 · 0 评论 -
RabbitMQ集群部署
RabbitMQ集群镜像模式部署rabbitmq集群模式有2种普通集群模式(无高可用性): 默认模式,以两个节点(rabbit01、rabbit02)为例来进行说明。对于Queue来说,消息实体只存在于其中一个节点rabbit01(或者rabbit02),rabbit01和rabbit02两个节点仅有相同的元数据,即队列的结构。当消息进入rabbit01节点的Queue后,consumer从rabbit02节点消费时,RabbitMQ会临时在rabbit01、rabbit02间进行消息传输,把A中的原创 2022-01-07 10:56:09 · 2995 阅读 · 0 评论 -
混沌工程(Chaos Engineering) 总结
Netflix工程师创建了Chaos Monkey,使用该工具可以在整个系统中在随机位置引发故障。正如GitHub上的工具维护者所说,“Chaos Monkey会随机终止在生产环境中运行的虚拟机实例和容器。”通过Chaos Monkey,工程师可以快速了解他们正在构建的服务是否健壮,是否可以弹性扩容,是否可以处理计划外的故障。2012年,Netflix开源了Chaos Monkey。今天,许多公司(包括谷歌,亚马逊,IBM,耐克等),都采用某种形式的混沌工程来提高现代架构的可靠性。 Netflix甚至将其转载 2021-09-12 15:37:06 · 1949 阅读 · 0 评论 -
单点登录SSO、OAuth、LDAP、CAS的流程与应用
单点登录 - SSO 现阶段互联网中拥有着大量的应用系统,极大地提升了大家的工作效率与生活质量。然而大量的应用系统拥有着不同的认证与授权模式,这使得用户需要大量记忆用户名与口令,并多次登录和注册所需要使用的系统,这使得用户的使用体验非常的糟糕。因此,单点登录系统(SSO,Single Sign-On)应运而生。单点登录 - SSO常见的应用有两种情况:在一个单位中,需要使用多个功能不同的系统应用,比如企业会有专门的财务系统,销售的CRM系统,人事的OA、邮箱系统,如果每个系统...转载 2021-08-29 17:25:45 · 2137 阅读 · 0 评论 -
LDAP 协议入门(轻量目录访问协议)
什么是 LDAP?LDAP 的全称是 Lightweight Directory Access Protocol,「轻量目录访问协议」。划重点,LDAP「是一个协议」,约定了 Client 与 Server 之间的信息交互格式、使用的端口号、认证方式等内容。而「LDAP 协议的实现」,有着众多版本,例如微软的 Active Directory 是 LDAP 在 Windows 上的实现,AD 实现了 LDAP 所需的树形数据库、具体如何解析请求数据并到数据库查询然后返回结果等功能。再例如 Ope..转载 2021-08-29 17:08:48 · 4868 阅读 · 0 评论 -
后端技术体系框架
这边我推荐我看过的一本书 曾宪杰《大型网站系统与Java中间件实践》,对于后端的一些服务如何从单机到分布式讲解是非常深入的,让你能够对后端各个层次的中间件框架有着进一步的理解。1、后端技术体系框架使用Java后端技术的目的就是构建业务应用,为用户提供在线或者离线服务。因此,一个业务应用需要哪些技术、依赖哪些基础设施就决定了需要掌握的后端技术有哪些。纵观整个互联网技术体系再结合公司的目前状况,笔者认为必不可少或者非常关键的后端基础技术/设施如下图所示:这里的后端基础设施主要指的是应用在线上稳定转载 2021-08-28 23:14:43 · 8461 阅读 · 0 评论 -
一致性Hash算法
先从历史的角度来一步步分析,探讨一下到底什么是Hash一致性算法!一、Redis集群的使用我们在使用Redis的时候,为了保证Redis的高可用,提高Redis的读写性能,最简单的方式我们会做主从复制,组成Master-Master或者Master-Slave的形式,或者搭建Redis集群,进行数据的读写分离,类似于数据库的主从复制和读写分离。如下所示:同样类似于数据库,当单表数据大于500W的时候需要对其进行分库分表,当数据量很大的时候(标准可能不一样,要看Redis服务器容量)我们同样可转载 2021-08-28 21:49:32 · 167 阅读 · 0 评论 -
ZMQ学习笔记
ZMQ简介官方: “ZMQ(以下ZeroMQ简称ZMQ)是一个简单好用的传输层,像框架一样的一个socket library,他使得Socket编程更加简单、简洁和性能更高。是一个消息处理队列库,可在多个线程、内核和主机盒之间弹性伸缩。ZMQ的明确目标是“成为标准网络协议栈的一部分,之后进入Linux内核”。现在还未看到它们的成功。但是,它无疑是极具前景的、并且是人们更加需要的“传统”BSD套接字之上的一 层封装。ZMQ让编写高性能网络应用程序极为简单和有趣。”与其他消息中间件相比,ZMQ并不像是一个传原创 2021-06-14 00:26:03 · 4432 阅读 · 0 评论 -
ULID - 一种比UUID更好的方案
为什么不选择UUID在分布式场景下,很多人选择了 UUID 作为 ID ,UUID 目前有 5 个版本,分别是:版本1:依赖于时间戳和 MAC 地址,容易被攻击;版本2:将版本 1 的时间戳前四位换为 POSIX 的 UID 或 GID,问题同上;版本3:基于 MD5 哈希算法生成,生成随机分布的ID需要唯一的种子,这可能导致许多数据结构碎片化;版本4:基于随机数或伪随机数生成,除了随机性外没有提供其他信息;版本5:通过 SHA-1 哈希算法生成,生成随机分布的ID需要唯一的种子,这可能导致许多原创 2021-05-28 17:52:43 · 7342 阅读 · 6 评论 -
代理s3的nginx缓存服务器配置
需求: 1: 实现代理s3的nginx缓存服务器 2: 实现 / -> /index.html映射, eg: http://www.abc.com-> http://www.abc.com/index.html, http://www.abc.com/abc/ -> http://www.abc.com/abc/index.html, http://w原创 2017-10-13 10:55:08 · 3033 阅读 · 0 评论 -
Centrifugo(实时消息服务器)介绍+demo
Centrifugo是一个。它与语言无关,可以与任何语言编写的应用程序后端(Python,Ruby,Perl,PHP,Javascript,Java,Objective-C等)结合使用。Centrifugo作为单独的服务运行,并保持从应用程序客户端(从Web浏览器或其他环境,如iOS或Android应用程序)持续的WebSocket或SockJS连接。当发生某些事件时,您可以使用Centrifugo翻译 2017-12-09 21:38:58 · 8605 阅读 · 0 评论 -
五款高效的开源Web性能测试工具
专业的软件测试工程师至少要掌握一到两种测试工具,而作为普通软件开发者,或多或少掌握一些测试方法和技巧。随着用户对科技产品用户体验度的上升,产品发布前的测试工作变得尤为重要。工欲善其事必先利其器,下面本文就推荐五款非常流行的Web性能测试工具。1.HP LoadrunnerLoadrunner——相信不少开发者都知道这款工具,是目前最受欢迎的一款性能测试工具。它是一种预测转载 2017-11-28 09:51:35 · 3123 阅读 · 0 评论 -
浅谈CSRF攻击方式
一.CSRF是什么? CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。二.CSRF可以做什么? 你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品...转载 2018-04-27 21:14:26 · 221 阅读 · 0 评论 -
cas跨域单点登录原理
相同域名下实现单点登录太简单,因为A系统和B系统域名相同,在访问A时候登录过,在访问B时,由于域名相同,浏览器会带上cookies,cookies里有票据信息,访问B自然就不用再登录了。 可是如果A系统和B系统域名不同,CAS是怎样做到已经在访问A系统时候登录过,在访问B系统时就不用再重新登录了呢?此时访问B系统,因为域名不同的缘故,浏览器没有带上存储有票据信息的cookies啊,好了...转载 2018-04-27 21:14:31 · 1711 阅读 · 2 评论 -
高并发的核心技术-幂等的实现方案
高并发的核心技术-幂等的实现方案 一、背景 我们实际系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果。 例如: 1. 前端重复提交选中的数据,应该后台只产生对应这个数据的一个反应结果。 2. 我们发起一笔付款请求,应该只扣用户账户一次钱,当遇到网络重发或系统bug重发,也应该只扣一次钱; 3. 发送消息,也应该只发一次,同样的短信发给用户,用户会哭的; 4. 创建业务订单,一...转载 2018-06-25 09:44:36 · 434 阅读 · 0 评论 -
API网关介绍及选型(kong)
API网关是一个服务器,是系统的唯一入口。从面向对象设计的角度看,它与外观模式类似。API网关封装了系统内部架构,为每个客户端提供一个定制的API。它可能还具有其它职责,如身份验证、监控、负载均衡、缓存、请求分片与管理、静态响应处理。API网关方式的核心要点是,所有的客户端和消费端都通过统一的网关接入微服务,在网关层处理所有的非业务功能。通常,网关也是提供REST/HTTP的访问API。服务端通...原创 2019-07-13 09:47:46 · 9375 阅读 · 1 评论 -
基于kong + oauth2 + acl的用户访问权限管理
需求说明对admin进行分组管理,不同的用户有访问不同api(服务)的权限,类似django admin的用户组功能由于认证系统是完全可信的内部系统,简单起见使用密码授权方式在网关层做接入权限管控,而非后端应用的业务权限启动kong# 启动kong使用的数据库postgres/cassandradocker run -d --name kong-database \ -...原创 2019-07-13 09:53:23 · 10218 阅读 · 3 评论 -
一个创业公司的API网关落地实践
作者|Ítalo Lelis编辑|薛命灯HelloFresh是一家食品电商初创公司,用户根据选定的菜谱下单,HelloFresh把菜谱所需要的食材送至用户家中。来自HelloFresh的技术负责人Ítalo Lelis在博客上分享了HelloFresh的API网关落地实践,本文为该博文的译文,并已获得原网站的翻译授权。HelloFresh的规模一直保持着增长的态势,我们的产转载 2017-10-10 16:46:25 · 554 阅读 · 0 评论