系统架构
文章平均质量分 92
yshir-phper
这个作者很懒,什么都没留下…
展开
-
Jkenis自动化部署工具
1、背景:在实际开发中,我们经常要一边开发一边测试,当然这里说的测试并不是程序员对自己代码的单元测试,而是同组程序员将代码提交后,由测试人员测试;或者前后端分离后,经常会修改接口,然后重新部署;这些情况都会涉及到频繁的打包部署;手动打包常规步骤:1.提交代码2.问一下同组小伙伴有没有要提交的代码3.拉取代码并打包(war包,或者jar包)4.上传到Linux服务器5.查看当前程序是否在运行6.关闭当前程序7.启动新的jar包8.观察日志看是否启动成功。转载 2023-07-18 13:58:32 · 1703 阅读 · 0 评论 -
B2C电商项目 前台首页加载模块(缓存 广告数据的实时更新缓存)
一、首页加载的解决方案互联网应用首页访问并发量高,如何来解决?方案nginx + lua + redis步骤一、缓存预热步骤二、编写lua脚本实现二级缓存读取实现步骤后台数据管理,通过后台管理系统,对mysql中的广告(首页内容)进维护。 定义广告内容,表中设计了 position 位置字段 ,标识广告图片的显示位置。 将首页页面,通过nginx进行部署 通过lua脚本,对广告指定位置的数据进行以及缓存。 lua脚本就会根据位置信息,从mysql数据库中,查询出广.转载 2020-11-14 20:19:26 · 300 阅读 · 0 评论 -
PMP项目管理重点知识图谱(一)
项目管理围绕五大过程组及十大知识领域进行,日常IT项目管理都会用到。现总结几个比较重要图标一、项目管理五大过程组及十大只是领域:二、质量管理过程三、变更控制流程转载 2020-11-04 16:03:12 · 645 阅读 · 0 评论 -
【大数据】大数据工程师必备技能
引用几张图片:包括基本技能和高阶能力:基本技能:1、java、python、R等基本语言2、编程能力3、框架、平台的运用,如Hadoop、Spark等高阶能力:1、机器学习及各种算法2、架构设计能力3、云计算基本能力-------------------------------------------------------------简言之----------------------------------------------------------转载 2020-11-04 09:56:42 · 277 阅读 · 0 评论 -
【架构师】微服务架构--REST与RPC
REST与RPC比较与应用场景1.1.1REST与RPC概念什么是RESTREST是一种架构风格,指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。REST规范把所有内容都视为资源,网络上一切皆资源。REST并没有创造新的技术,组件或服务,只是使用Web的现有特征和能力。可以完全通过HTTP协议实现,使用 HTTP 协议处理数据通信。REST架构对资源的操作包括获取、创建、修改和删除资源的操作正好对应HTTP协议提供的GET、POST、PUT...转载 2020-11-04 09:44:03 · 207 阅读 · 1 评论 -
腾讯后台开发技术总监浅谈过载保护 小心雪崩效应
摘要:每个系统,都有自己的最大处理能力,后台技术人员对此必须很清楚,且要注意自我保护,不然就会被雪球压垮,出现雪崩。雪球:对于时延敏感的服务,当外部请求超过系统处理能力,如果系统没有做相应保护,可能导致历史累计的超时请求达到一定规模,像雪球一样形成恶性循环。由于系统处理的每个请求都因为超时而无效,系统对外呈现的服务能力为0,且这种情况下不能自动恢复。腾讯后台开发技术总监bison,给...转载 2020-04-28 10:28:38 · 150 阅读 · 0 评论 -
拼团活动如何设计?
营销手段除了优惠券,还有拼团这种常见模式。提起拼团,大家自然而然地想到拼多多,在流量红利已经触底的情况下,以拼团这种新模式杀出一条血路。一、创建拼团活动拼多多的所有商品都有拼团模式,淘宝、京东或其他平台只有部分商品有拼团模式,两种后台设计肯定不同。因本人此次负责的项目是后者,故以此种类型谈如何创建拼团活动。实例设计创建拼团活动页创建拼团活动的过程中,至少包含以下元素:拼团活...转载 2020-03-21 14:42:09 · 931 阅读 · 0 评论 -
秒杀的实现原理及实现方式
什么是秒杀秒杀场景一般会在电商网站举行一些活动或者节假日在12306网站上抢票时遇到。对于电商网站中一些稀缺或者特价商品,电商网站一般会在约定时间点对其进行限量销售,因为这些商品的特殊性,会吸引大量用户前来抢购,并且会在约定的时间点同时在秒杀页面进行抢购。秒杀系统场景特点秒杀时大量用户会在同一时间同时进行抢购,网站瞬时访问流量激增。 秒杀一般是访问请求数量远远大于库存数量,只有...原创 2020-03-21 13:11:52 · 9787 阅读 · 0 评论 -
高并发高可用高性能的解决方案汇总整理
难题与方案1、亿级流量电商网站的商品详情页系统架构面临难题:对于每天上亿流量,拥有上亿页面的大型电商网站来说,能够支撑高并发访问,同时能够秒级让最新模板生效的商品详情页系统的架构是如何设计的?解决方案:异步多级缓存架构+nginx本地化缓存+动态模板渲染的架构2、redis企业级集群架构面临难题:如何让redis集群支撑几十万QPS高并发+99.99%高可用+TB级海量数据+企业...转载 2020-01-06 14:48:16 · 1210 阅读 · 0 评论 -
多级缓存架构设计(四)
1、多级缓存实现 一般来说,缓存有两个原则一是越靠近用户的请求越好。比如,能用本地缓存的就不要发送 HTTP 请求,能用 CDN 缓存的就不要打到源站,能用 OpenResty 缓存的就不要打到数据库。 二是尽量使用本进程和本机的缓存解决。因为跨了进程和机器甚至机房,缓存的网络开销 就会非常大,这一点在高并发的时候会非常明显。 自然,在 OpenResty ...原创 2019-11-19 19:52:48 · 1696 阅读 · 0 评论 -
缓存架构设计(三)----docker+openresty+lua+redis
一、nginx分发层到应用层 通过调用本身的nginx的hash分发模块分发到应用层并且实现动态负载均衡,并且在应用层当中调用php-fpm 1、目录结构如下2、分发层配置文件2.1)简单配置并验证2.2)动态负载均衡配置分发层配置文件搭建consul容器#拉取consul镜像docker pull consul#启动容器cons...原创 2019-11-18 21:59:22 · 1048 阅读 · 0 评论 -
缓存架构设计实例(二)--openresty+lua+redis+docker
多级缓存架构当中每一层的意义 ngx_lua 属于 nginx的一部分,它的执行指令都包含在 nginx 的11个步骤之中了,相应的处理阶段可以做插入式处理,即可插拔式架构,不过 ngx_lua 并不是所有阶段都会运行的;另外指令可以在 http、server、server if、location、location if 几个范围进行配置: 1、nginx本地缓存 ng...原创 2019-11-09 21:23:48 · 515 阅读 · 0 评论 -
缓存架构设计(一)
一、缓存架构的演进1、初始架构(动态访问) php+nginx+mysql 动态页面,每次请求都要调用多个依赖服务的接口,从数据库里查询数据,然后通过类似php模板引擎渲染到HTML模板中,返回最终HTML页面。 问题:每次请求都是要访问数据库,性能差。2、页面静态化技术 当用户第一次访问时,就调用相关的依赖服务,渲染生成一个html,然后利用rsync的方式同...原创 2019-11-09 12:09:27 · 190 阅读 · 0 评论 -
openresty+lua灰度发布的简单实验
一、什么叫灰度发布?灰度发布,简单来说,就是根据各种条件,让一部分用户使用旧版本,另一部分用户使用新版本。 一般是产品上线一个功能,希望在线上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。执行过程:1、当用户请求到达前端web(代理)服务器Openresty,内...原创 2019-11-08 12:25:01 · 835 阅读 · 0 评论 -
openresty+lua脚本实现流量的分发简单模拟案例
参考资料相应的api在这里可以找到https://github.com/openresty/lua-nginx-module#nginx-api-for-lua相应的lua模块加载一些模块https://www.nginx.com/resources/wiki/modules/lua/https://github.com/pintsized/lua-resty-http/r...原创 2019-11-09 11:01:10 · 1042 阅读 · 0 评论 -
php秒杀系统(一)
目标:如何设计和实现秒杀系统 实现系统的高并发、高性能 实现系统的安全可靠秒杀系统的特点:人多商品少 时间短流量高 外挂机器技术分析:瞬时高并发的处理能力 多层次的分布式处理能力 人机交互与对抗系统环境:linux + nginx +php + mysql +redis技术选型分析CDN,智能DNS 分布式缓存,全国多借点 多线路接入 负载均衡LVS...原创 2019-11-04 15:45:10 · 592 阅读 · 0 评论 -
Kubernetes 学习笔记(七)--- K8S存储卷、ConfigMap、Secrets
目录emptyDirgitRepohostPathnfspvc 1. 配置NFS共享存储: 2. 创建PV 3. 定义PVC,并使用accessModes <[]string>存储类(StorageClass)configmap 1. 通过命令行创建ConfigMap 2. 通过yaml文件创建ConfigMap ...转载 2019-10-14 11:33:04 · 759 阅读 · 0 评论 -
Kubernetes 学习笔记(六)--- Ingress
Ingress是什么?请参考:https://jimmysong.io/kubernetes-handbook/concepts/ingress.htmlhttps://mritd.me/2017/03/04/how-to-use-nginx-ingress/Service不管是工作在iptables模式,还是工作在ipvs模式,它都是四层调度器,都是工作在TCP/IP协议栈。如果用户访问...转载 2019-10-14 11:30:15 · 194 阅读 · 0 评论 -
Kubernetes 学习笔记(四)--- K8S Pod控制器应用进阶
目录一、Pod控制器类别 1.1 ReplicaSet 1.2 Deployment 1.3 DaemonSet 1.4 Job 1.5 CronJob 1.6 StatufulSet 1.7 CDR 1.8 Helm二、ReplicaSet资源清单三、Deployment资源清单 3.1 strategy(Pod更...转载 2019-10-14 11:28:02 · 583 阅读 · 0 评论 -
Kubernetes 学习笔记(三)--- 资源清单定义入门
目录一、K8S中常见的资源二、创建资源清单 2.1 创建资源的方法: 2.2 常用资源的配置清单 2.3 利用资源清单创建Pod 2.4 kubectl命令管理资源有三种用法一、K8S中常见的资源Kubernetes中把资源实例化以后称之为对象,这里先介绍K8S中常见的核心资源有哪些:工作负载型资源(workload):Pod、ReplicaS...转载 2019-10-14 11:26:03 · 162 阅读 · 0 评论 -
Kubernetes 学习笔记(一)--- 基本概念及利用kubeadm部署K8S
Kubernetes中文文档http://docs.kubernetes.org.cn/目录一、K8S由来二、K8S特性 自动装箱 自我修复 水平扩展 服务发现/负载均衡 自动发布和回滚 密钥和配置管理 存储编排 批量处理执行三、K8S的架构 API Server Scheduler Cont...转载 2019-10-14 11:24:55 · 656 阅读 · 0 评论 -
Kubernetes 学习笔记(二)--- K8S应用快速入门
目录一、获取资源二、手动部署一个应用 2.1 手动创建一个控制器deployment 2.2 部署一个service 2.3 动态扩缩容Pod副本 2.4 滚动更新 2.5 动态回滚 2.6 配置从集群外部访问myapp此篇接上一篇 《Kubernetes 学习笔记(一)--- 基本概念及利用kubeadm部署K8S》命令kubec...转载 2019-10-14 11:21:06 · 163 阅读 · 0 评论