随笔分类 - 系统架构
1
微服务架构:Microservice Architecture
摘要:无论是系统架构范畴,还是前几年性能测试和优化领域,大家都很喜欢讲三高(高并发高性能高可用),其中经常会出现这几个专业术语:缓存、限流、熔断、降级。 这些听起来很高大上的技术术语,到底是什么,在什么场景使用,它的作用又是什么,很多同学感觉云里雾里不太理解。 一个故事理解技术要点第三篇,这篇文章我们来聊
阅读全文
摘要:前段时间,知识星球里一位同学给我分享了他对消息队列的理解,并且用一个故事形象的表述了消息队列的作用。 看完他的表述,我觉得用故事来描述技术组件作用的方式很有意思,也更容易让人理解。 这篇文章,借用他的故事,为大家简单介绍一下消息队列。 消息队列的故事 假设现在有一本技术百科全书,我们将其称之为一个集
阅读全文
摘要:接上一篇文章《为什么测试要了解系统架构》的内容,这篇聊聊如何掌握基础的系统架构知识。 从我个人的角度来说,所谓的系统架构,就是对软件系统整体结构的抽象设计。如何理解这句话呢?举个生活中常见的例子:如何盖一座房子? 正常的做法是先勘探地质,然后对房子进行设计(房屋大小朝向、门窗尺寸用料、预算多少),最
阅读全文
摘要:前段时间星球群里大家聊起了系统架构相关的话题。有同学说现在测试面试太难了,既要懂业务,又要写代码,更要懂系统架构,对常用的中间件也要有所了解,最好是有一定的使用经验,学不完,根本学不完。 事实真的是这样吗?从我的观察来说,上述的要求在一些知名互联网企业确实有这些要求,如果你在面试时能表现出良好的技术
阅读全文
摘要:公众号后台有同学私信问了一个问题:中间件服务,如何做好质量保障工作? 日常我们的测试工作范畴,大多都是业务强相关的,比如:电商业务大多是商品、订单、库存、支付;金融业务则是存取款、清结算等。 而中间件服务很多时候会被我们下意识忽略,或者说测试过程中都会涉及到这些服务组件,但不会专门去针对它们开展质量
阅读全文
摘要:大概20年这个时候,听过公司一位架构师的分享,他提到了基础架构团队的定位和主要产出,即为整个技术团队提供所有研发活动开展所必须的基础设施。 关于技术基础设施的目标,他定义了如下三点: 成为全站稳定运行的基石 成为业务高速发展的保障 成为大家值得依赖的伙伴 换个角度,从测试工程师的视角来看,测试团队的
阅读全文
摘要:前两天公众号后台有同学留言问了这样一个问题: 接口测试时依赖调用外部第三方平台,三方平台不稳定经常报错,该如何解决这个问题? 看到这个问题我的第一反应是通过mock的方式来解决。但仔细想了下,这位同学的疑惑其实不是如何解决具体的问题,而是类似的问题有没有很好的分析思路和解决方案。 其实mock除了可
阅读全文
摘要:前言 之前有很多同学问我,性能测试中到底该如何去定位分析瓶颈并进行性能优化?感觉压测场景设计做的很全面,分析工具也用了很多,但一直无法快速的定位分析并进行优化。 性能分析和优化一直是技术领域热门的一个话题,无论是三高(高性能、高可用、高稳定),还是CAP(数据一致性、服务可用性、分区容错性),都强调
阅读全文
摘要:前言 上周四(10月14日)晚,受邀参加了由数列科技主办的线上技术直播——PGUG系列-大促保障之旅,其中我分享的Topic是《大型业务活动,如何保障系统的稳定性》。 分享过程中,参与直播的同学们提了很多问题,碍于很多问题无法一两句概括,因此写了这篇文章,对这些同学提出的问题做一个解答。当然,回答仅
阅读全文
摘要:异地多活 定义:广域的分布式架构; 目的:容量扩展,资源弹性; 实质:多个不同地域不同规模的数据中心; 收益:更强的容灾能力,用户就近接入能力; 容器集群 特点:开箱即用; 优点:从多业务复杂性→生产多样性; 管理:服务标识&版本标记,便于集群管理; 原理:基础镜像配置多个服务节点,可通过预分发方式
阅读全文
摘要:前言 最近刚离职,新公司还没去报道,就整天赋闲在家看看书写写技术文章。 下午和某个微信群的群友聊起互联网公司的监控系统,简短的描述了一些我的看法。 正好最近有空,这篇文章就来聊聊我自己在职业生涯里使用过以及了解过的一些监控系统,当做一篇小白扫盲或者个人漫谈就好。 基础必知 要对监控有个全面的了解,大
阅读全文
摘要:上一篇博客整理了一些关于服务框架基础知识的内容,这篇博客,从实际的生产需要出发,谈谈一个完善可用的服务框架,需要包含哪些功能。。。 PS:部分内容参考自《京东基础架构建设之路》 一个完善可用的RPC服务框架,需要包含以下几点: 管理端 1、接口管理 提供统一的接口管理和查询入口,比如公共wiki或者
阅读全文
摘要:在软件系统组成越发复杂的今天,如何保证每个服务间的通信,是系统架构师必须考虑的重要一点。 作为一名软件测试工程师,了解系统架构以及服务间的通信过程及原理,对我们开展测试工作有很大的帮助。 这篇博客,简单介绍下常见的一些通信服务框架基础知识。。。 参考:《京东基础架构建设之路》 要组成一个基本的通信服
阅读全文
摘要:昨晚通宵生产压测,终于算是将生产服务宕机的原因定位到了,心累。这篇博客,算作一个复盘和记录吧。。。 先来看看Redis的缓存淘汰算法思维导图: 说明:当实际占用的内存超过Redis配置的maxmemory时,Redis就会根据用户选择淘汰策略清除被选中的key。 业务场景:用户通过微信入口来访问一个
阅读全文
摘要:上半年时候,部门有组织的讨论了一下实践微服务的技术话题,主要内容是SOA服务和微服务各自的优势和难点,其中有提到关于RESTful API设计方法。 正好最近在深入的学习HTTP协议,也看了一些有关RESTful API的资料,这篇博客,就将自己的一些理解整理记录一下。 PS:本篇博客主要谈一些概要
阅读全文
摘要:夜半睡起看书,看到一篇关于分布式网站性能优化术语的文章,个人觉得不错,分享出来。。。 原文地址:大型分布式网站术语分析 一、I/O优化 1、增加缓存,减少磁盘的访问次数。 2、优化磁盘的管理系统,设计最优的磁盘方式策略,以及磁盘的寻址策略,这是在底层操作系统层面考虑的。 3、设计合理的磁盘存储数据块
阅读全文
摘要:原文地址:缓存穿透、缓存并发、缓存失效之思路变迁 我们在用缓存的时候,不管是Redis或者Memcached,基本上会通用遇到以下三个问题: 缓存穿透 缓存并发 缓存失效 一、缓存穿透 注:上面三个图会有什么问题呢? 我们在项目中使用缓存通常都是先检查缓存中是否存在,如果存在直接返回缓存内容,如果不
阅读全文
摘要:本篇博客转载自github,原文地址:浏览器缓存篇 前言 在前端开发中,缓存有利于加快网页的加载速度,同时缓存能够被反复利用,所以可以减少流量和带宽的开销。 缓存的分类有很多种,CDN缓存、数据库缓存、代理服务器缓存和浏览器缓存。 本篇讲解一下Web开发中的浏览器缓存。这个在实际开发环境中往往也会被
阅读全文
摘要:这篇呢,主要就是关于正则表达式的一些介绍和常见应用软件及编程语言对正则表达式的支持等内容。。。 1、正则表达式(regular expression,):简称regex,可以理解为一种工具。 2、正则表达式的两种基本用途:搜索(匹配)和替换(匹配并替换)。 比如:把URL地址字符串替换为可点击的UR
阅读全文
摘要:资料来源:有架构给我的一些资料,以及自己百度和论坛、社区找来的一些资料,权当做一个总结式的简介。。。 目录如下: 一、微服务架构介绍 二、出现和发展 三、传统开发模式和微服务的区别 四、微服务的具体特征 五、SOA和微服务的区别 六、如何具体实践微服务 七、常见的微服务设计模式和应用 八、微服务的优
阅读全文
1