自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zahary

研究技术、与时俱进

  • 博客(45)
  • 收藏
  • 关注

原创 应用服务器调优案例分析

应用服务器调优案例分析某企业、公司随着业务发展,生产环境经常会出现服务器负荷太高,CPU持续飙升现象、内存溢出,当出现这种现象如何快速定位问题并分析处理呢?接下来将通过实例 分析说明分析思路:应用程序CPU持续飙升,一般线程堵塞未释放、死锁请求流量某时间段高额,低性能应用程序引起垃圾回收时间停顿时间过长、内存溢出等问题引起的定位问题:通过监控工具Zabbix查看应用的TCP连接...

2019-04-17 18:22:34 414

原创 一文读懂容灾

一文读懂容灾

2022-05-07 23:34:46 5303

原创 敏捷管理第四章《敏捷落地--团队试点》

敏捷管理第四章《敏捷落地--团队试点》敏捷落地–团队试点,让你具有大局观我们上章节主要讲述了评估诊断,具备了项目短期规划的能力,接下来我们主要重点会围绕长期规划来进行展开。那么团队试点主要会包括两个过程,即 “试点前准备” 和“试点过程推进”。大家做过项目Leader、PM,其中较为重要的环节包括 “风险评估”,那么敏捷推进也同样需要,从局部先来引入,慢慢观察和总结,等到合适时机,覆盖全面。接下来我们讲试点前先分享个例子:例子 一家科创公司董事吴某某,初步调研完敏捷管理开发后,要求公司旗下团

2021-11-29 23:27:08 1641 2

原创 敏捷管理第四章《敏捷落地--评估诊断》

敏捷管理第四章《敏捷落地》敏捷落地,让你具有大局观敏捷落地;主要包括几个环节,分别为 评估诊断、团队试点、大规模推广。下面????我们通过实操重点来讲解关于敏捷落地的步骤。关于想引入敏捷或者爱好者,会碰到一些疑问: 脑子里一头雾水,不知道从哪个环节着手,如何引入敏捷呢? 敏捷的价值和原则理念好,我要以它为标准,统一来规范。 敏捷要求比较高,我们团队到底适合吗?比较担心。 敏捷传递的效率高,那么如果正确理解到位呢?而不是盲目的跟风。 敏捷目前还不成熟,等它慢慢发展成熟了,在考虑引入吧。

2021-11-19 15:54:24 728

原创 敏捷管理第三章《敏捷理解》

敏捷管理第三章《敏捷理解》敏捷理解,让你管理变得不平凡大家对敏捷的理解都有差别,可谓仁者见仁,智者见智,话术如下:敏捷就是压榨劳动力,多干活敏捷就是经常加班,比以往加班变得更严重,更累敏捷来了,我们不用写各种技术文档了…敏捷效率高,比以往交付周期缩短一半以上…Scrum 就是敏捷,敏捷就是 Scrum…以上大大小小都是谈论敏捷,对敏捷的误解,或者是理解不准确,上一篇中描述了敏捷的价值,它以原则为驱动力,通过方法论去执行,那么真正的敏捷可以从以下方面来讲解。看透敏捷其主要是指敏捷的

2021-11-19 13:54:40 933

原创 敏捷管理第二章《敏捷价值》

敏捷管理第二章《敏捷价值》讲到敏捷之前,我们先举个例子来说明下(传统模式、瀑布模式特点)在13-15年期间,中国移动有个大型商城项目外包给我们,简单了解需求后,项目经理制定了初步计划,包括预算、人员安排、开发周期、时间周期表等,计划用1年时间完成项目的交付。期间包括需求调研、设计、开发、测试、QA验收及上线发布、用户培训等。项目经理有自己的一套成熟的管理方式,后续按照这套管理机制来启动项目的开展工作(项目筹备、启动、组建团队)花了1个月时间,前期需求调研花了2个月时间,UI设计花了1.5个月时间

2021-11-08 15:39:13 234

原创 敏捷管理第一章《敏捷心路历程》

敏捷管理第一章《敏捷心路历程》您好,我是zachary,《分布式系统架构:技术栈详解与快速进阶》一书作者,从事互联网技术管理路线。从事行业经验包括银行、金融、保险、电商、物流、医疗、教育等等。从一线工程师到管理者,从初级开发、高级开发、架构师等,到现在的敏捷管理者、技术管理者。经历过研发管理从传统开发模式、瀑布模式、敏捷模式。对每个模式特点有深刻体验和经验。认识敏捷,让你的研发管理少走弯路您好,我是zachary,《分布式系统架构:技术栈详解与快速进阶》一书作者,从事互联网技术管理路线。从事行业经验包

2021-11-07 20:30:22 169

原创 分布式WebSocket-下篇

分布式WebSocket落地-生产验证上篇文章主要讲述了单点Socket,以及它的使用场景。本章主要会从多个维度来探讨单机Socket存在问题以及解决方案。上篇文章从功能层面实现了双向传输,但是带来了难受问题如下:我们把应用部署在一台2C4G服务器上运行,jvm参数如下:-Xmx2688M -Xms2688M -Xmn960M -XX:MaxMetaspaceSize=512M -XX:MetaspaceSize=512M,上线运行一周左右时间,应用自动挂了,应用日志没有任何报错。由于没有开启gc

2021-02-01 19:17:26 604 1

原创 分布式WebSocket-上篇

单机WebSocket落地-生产验证众所周知,教育分线下和线上,随着疫情的发展,线上教育慢慢普及,直播作为互动及体检的重要环节,其必不可少。那么在直播过程中必然需要双向传输等核心技术体系支撑。技术选型:目前较为主流双向传输技术,如:websocket、mqttwebsocket开源简单,集成快,开发成本低、论坛活跃Kong网关支持众多插件,方便维护考虑到开发成本、使用场景、维护等多方面因素,我们采用WebSocket方案进行集成,由于我们开发周期紧,人员短缺,为了快速实现产品,最初我们采用单

2021-01-30 00:59:06 662 5

原创 《分布式系统架构:技术栈详解与快速进阶》导读

介绍本书从全栈角度讲解了分布式系统涉及的各项主要技术,从原理剖析、应用场景和实践案例多个维度展开,是作者多年分布式系统研发和架构经验的总结。从前端到后端、从高效交互到负载均衡、从网络传输到Web服务器、从高并发到高可用……本书囊括了分布式系统的整个技术体系,内容详实、结构清晰,能帮助读者理解和掌握分布式系统架构设计的难点和调优方案。全书一共10章,具体内容如下:第1章介绍了分布式架构的理念、目标、作用,以及架构和设计中的难点;第2章讲解了分布式架构中前端和后端的交互方式、交互难点、高效交互调优.

2020-07-03 14:37:54 1247

原创 前后端分享之监控

前端后分享之监控前端监控的主要目的是:获取用户行为等各种数据以及跟踪产品在用户端的使用情况,并以此数据为基础,及时修正产品中的问题,并为产品优化指明方向。也可以为以后打造数据平台打下一定的基础。它包含几个主要步骤:前端埋点、数据上报、数据处理和数据分析。什么是埋点?所谓“埋点”,是数据采集的术语,指的是针对特定用户行为或事件进行捕获、处理和 发送的相关技术及其实施过程。比如用户某个按钮...

2019-11-20 10:51:13 795

原创 前后端分享之Chrome开发者工具

前端后分享之Chrome开发者工具在前端项目的调试中,开发者们最常用的工具之一就是Chrome的Devtools了,类似的 工具还有FireBug,也有浏览器扩展来辅助调试Vue等框架的项目。这些工具的诞生让前端项目的开发调试变得十分的便利。 今天我要来分享一些Devtools的一些基础的使用技巧。注:FireBug已经停止开发合并进Firefox的内置开发者工具中;Chrome版本为 7...

2019-11-20 10:20:09 595

原创 前后端分享发展

前后端分享之一

2019-11-20 09:56:14 152

原创 SpringBoot2 骨架搭建

SpringBoot2 骨架搭建SpringBoot2介绍众所知周,SpringBoot诞生后,很多互联网公司对它垂青,逐渐采用新型框架融入到项目体系中,从设计理念和落地,笔者认为它是目前市面上一款很重要完整的框架体系,小伙伴如细心观察,Spring开源社区非常活跃,Springboot版本逐渐迭代更新到2X系列,下面一起来看下它的新特性github开源WIKI说明:https://git...

2019-07-03 23:59:00 791

原创 SpringCloud Hystrix

SpringCloud Hystrix针对之前的章节描述过服务注册、负载策略,那是否会存在一些特殊场景需要处理? 针对系统微服务高负载如何快速处理呢?思考如下问题如果服务提供者响应非常缓慢,那么消费者对提供者的请求就会被强制等待,直到处理处理完返回,高负载情况下会造成所有处理用户请求的线程都会被耗竭如果服务消费者可以是其它服务的提供者,这样会造成其它服务消费者接着耗竭,造成雪崩效应解...

2019-06-17 22:55:58 126

原创 SpringCloud Feign

SpringCloud Fegion1.Fegion是什么?Feign 是一个声明web服务客户端,这便得编写web服务客户端更容易,使用Feign 创建一个接口并对它进行注解,它具有可插拔的注解支持包括Feign注解与JAX-RS注解,Feign还支持可插拔的编码器与解码器,Spring Cloud 增加了对 Spring MVC的注解,Spring Web 默认使用了HttpMessage...

2019-06-15 11:56:43 862

原创 SpringCloud Ribbon

SpringCloud Ribbon上篇文章主要提到Eureka的服务注册和发现,本片文章主要讲述其服务的负载均衡思考以下问题负载均衡有哪些?Ribbon是什么?分析如下1.客户端负载均衡、服务器负载均衡(Nginx\F5)2.Ribbon是Netflix发布云中键层服务开源项目,主要提供客户端负载均衡算法架构图如下:Ribbon工作步骤:第一步先选择Eureka Ser...

2019-06-10 22:53:01 192

原创 SpringCloud Eureka

SpringCloud Eureka首先有以下问题Eureka是什么?Eureka简介Eureka原理分析如下:Eureka是一款服务发现组件、类似Zookeeper 它来自生产环境,SpringCloud对其兼容性很好Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移目的。...

2019-06-09 21:11:20 147

原创 SpringCloud 介绍

SpringCloud 介绍SpringCloud总架构图如下本文主要介绍SpringCloud,从以下维度进行讲解首先思考如下问题SpringCloud是什么?SpringCloud版本如何控制?SpringCloud特性SpringCloud软件版本针对以上的问题进行分析SpringCloud是在SpringBoot的基础上快速构建分布式系统的工具类,外界俗称 “全...

2019-06-05 22:05:34 1100

原创 Springboot源码分析 SpringApplication初始化

Springboot源码分析 SpringApplication初始化描述:众所周知,springboot以轻量级/简化著称,其可通过Main方法直接运行项目SpringApplication初始化过程如下@SpringBootApplicationpublic class SpringBootDemo81Application { public static void main(St...

2019-06-05 00:19:42 163

原创 Spring源码分析 事物

Spring源码分析事物Spring事物 源头如下public class TransactionInterceptor extends TransactionAspectSupport implementsMethodInterceptor, Serializable {}TransactionInterceptor 事物拦截器。当想要调用目标方法时(如操作数据层),会先转换为代理对象...

2019-05-26 23:01:14 125

原创 Spring源码分析 AOP设计实现过程

Spring源码分析 AOP设计上篇设计理念将分散在程序各处的横切关注点剥离出来,并已集中的方式进行表达AOP和继承有些类似,前者重点考虑程序横切逻辑,后者重点考虑纵向职责分派AOP核心概念Advice(通知)-定义在连接点处的行为,围绕方法调用而进行注入-Pointcut(切点)-确定在哪些连接点处应用通知Advisor()通知器-组合Advice与PointcutAOP ...

2019-05-26 16:49:35 180

原创 Spring源码分析 专栏文章

Spring 专栏文章Spring源码分析 BeanFactory与FactoryBeanSpring源码分析 加载资源并资源装配对象Spring源码分析 Bean创建和获取Spring源码分析 IOC依赖注入后续文章持续更新,收藏关注!作者简介:张程 技术研究更多文章请关注微信公众号:zachary分解狮 (frankly0423)...

2019-05-23 13:18:22 154

原创 ElasticJob 专栏文章

ElasticJob 专栏文章本文重点阐述 ElasticJob详细讲解全系列文章如下:ElasticJob 使用场景源码分析ElasticJob 启动流程源码分析ElasticJob 失效转移源码分析ElasticJob 选举及分片作者简介:张程 技术研究更多文章请关注微信公众号:zachary分解狮 (frankly0423)...

2019-05-23 13:14:50 126

原创 Spring源码分析 IOC依赖注入

Spring源码分析 IOC依赖注入1基于上篇 Spring源码分析 Bean创建和获取 依赖注入是在beaa创建时候完成,bean的创建触发过程如下单例模式非延迟加载的对象,会在IOC容器初始化的时候被创建且初始化非单例模式或者延迟加载的对象,应用第一次向容器索要该Bean对象的时候被创建且初始化基于创建bean源码分析IOC依赖注入public Object getBean(...

2019-05-22 22:53:04 256

原创 Spring源码分析 Bean创建和获取

Spring源码分析 Bean创建和获取Spring获取Bean源码public Object getBean(String name) throws BeansException { return doGetBean(name, null, null, false); } protected Object doGetBean(String name, Class requiredTy...

2019-05-22 21:22:49 393

原创 Spring源码分析 加载资源并资源装配对象

Spring源码分析 加载资源并资源装配对象XmlBeanFactory 源码如下资源载入public class XmlBeanFactory extends DefaultListableBeanFactory { public XmlBeanFactory(Resource resource) throws BeansException { this(resource, nul...

2019-05-21 23:02:45 149

原创 Spring源码分析 BeanFactory与FactoryBean

Spring源码分析 BeanFactory与FactoryBeanBeanFactory源码如下public interface BeanFactory{ public abstract Object getBean(String s) throws BeansException; public abstract Object getBean(Strin...

2019-05-21 22:24:40 252

原创 业务驱动 状态机

业务驱动 状态机描述通过有限状态机(FSM)实现业务的驱动,状态机通过操作驱动(即事件驱动ED)触发状态机可充分利用管理PipeLine模式,让业务核心程序解耦使用场景订单模型/领域Redis请求队列状态机业务驱动图类图分析:State: 状态实体类,表示一个状态以及关联操作、操作后的新状态定义,通过State类以及配置化到相关配置文件,可以实现业务一定程度上的可配置化S...

2019-05-18 16:33:07 954

原创 分布式架构 Redis优化及高可用

分布式架构 Redis优化及高可用优化说明:Redis底层通讯协议对管道提供了支持,通过管道可以一次性发送多条命令,执行完后一次性将结果取回Redis管道API命令中未体现、但支持管道优化方案1.精简键名和检键值2.合理设计存储数据结构和数据关系,减少数据冗余3.使用mset来赋值、高于set效率,类似 lpush、zadd等批量4.如果条件允许,尽量使用LUA脚本来辅助获取和操...

2019-05-12 20:43:56 334

原创 源码分析ElasticJob 失效转移

源码分析ElasticJob 故障转移描述:ElasticJob设计核心理念:充分利用服务器资源执行任务,确保每个任务可以在多个节点上执行ElasticJob失效转移过程:如果在任务执行过程中有一个执行实例挂了,那么之前被分配到这个实例的任务(或者分片)会在下次任务执行之前被重新分配到其他正常节点实例上执行失效转移核心类如下:FailoverService 作业失效转移服务Failov...

2019-05-09 22:03:59 278

原创 分布式架构 Mysql优化及高可用

微服务架构 Mysql优化及高可用特点介绍Mysql是一个关系型数据库管理系统,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低源码开放,不需要支付额外的费用适用于中小型网站数据库为多种编程语言提供了 API,支持多个操作系统使用支持多线程,充分利用 CPU 资源提供用于管理、检查、优化数据库操作的管理工具支持多种存储引擎(MyISAM、查询/插入快,不支持事物,Inno...

2019-05-07 12:57:33 2086 2

原创 分布式架构 高可用

微服务架构 高可用本文将通过自建架构图 进行讲解如图所示:如图采用了分布式、微服务架构,将传统系统进行重构后的效果微服务架构体系对多个层面进行探索、分析和优化,本文不在详细阐述微服务、分布式架构根据公司、企业需求定制化构造而来,目的细化模块间的调用,链路更加清晰明了,不同环节高可用方案不同,优化手段也存在差异。分析思考如果系统高峰期间可以处理500W/S 请求流量,那么当请求到达1...

2019-05-05 22:29:24 2926

原创 分布式架构 Tomcat优化

微服务架构 Tomcat优化Tomcat 模式策略Tomcat优化简介1.Tomcat默认配置已优化过,主要根据业务场景调整其内存配置,需要JVM基础,本 文不在阐述,合理分配Tomcat内存,优化 Tomcat启动设置catalina.sh中的 JAVA_OPTS,常见参数如下-server :启动JDK的Server版 -Xms:虚拟机初始化最小内存-Xmx:虚...

2019-05-05 21:45:22 674

原创 分布式架构 高并发处理

微服务架构 高并发处理高并发介绍在同时或者极短时间内,有大量请求到达服务端,每个请求都需要服务端耗费资源进行处理,并做出相应反馈服务端比如同时开启进程数,能同时运行的线程数、网络连接数、CPU运算、I/O、内存都是有限,所以服务端能同时处理请求也是有限的。高并发本质就是资源的有限性如:1.系统在线人数10W,并不意味系统并发用户是10W,可能存在10w用户同时在首页查看静态文章,并未对...

2019-05-05 21:44:34 4957

原创 分布式架构 Varnish优化

分布式架构 Varnish优化Varnish优化核心优化,通过VCL优化配置通过硬件负载均衡到多台varnish分流Varnish介绍Varnish一款开源的、高性能HTTP加速器和反向代理服务器Varnish主要通过缓存来实现web访问加速Varnish主要基于内存进行缓存、支持精确缓存时效,性能高效其 VCL配置管理比较灵活,支持后端服务器负载和健康检查,内部...

2019-05-04 20:46:04 378

原创 分布式架构 Nginx优化

微服务架构 Nginx优化Nginx介绍Nginx默认配置路径 /conf/nginx.conf文件,可在启动时 通过-c 指定安装路径Nginx启动原理1.启动nginx会启动一个Master进程,这个进程不处理任何客户端请求,主要用来产生worker进程,一个worker进程用来处理一个request2.单独worker之间互不影响,worker_connections可以配置,...

2019-04-29 20:36:38 432

原创 源码分析ElasticJob 选举及分片

源码分析ElasticJob 选举及分片elastic-job是将分片项分配至各个运行中的作业服务器,需自行处理实现分片项和数据的关系,分片策略包括(平均分配算法策略,作业名哈希值奇偶数算法策略,轮转分片策略。同时也提供了自定义分片策略的接口)elastic-job 的分片逻辑是用一台主节点服务器触发,服务器之间需要进行选主,选主的过程就是通过注册中心zookeeper来实现选主实现调用源...

2019-04-27 17:48:03 899

原创 源码分析ElasticJob 启动流程

源码分析ElasticJob 启动流程本篇文章重点讲解 ElasticJob 启动加载过程ElasticJob 核心方法如下CoordinatorRegistryCenter regCenter = setUpRegistryCenter();//创建JobEvent配置对象JobEventConfiguration jobConfig = new JobEventRdbConf...

2019-04-27 15:41:54 438

原创 分布式架构 专栏文章

微服务架构 专题文章本文重点阐述 微服务系列相关技术,通过实战详细讲解全系列文章如下:微服务架构 前后端交互优化 上篇微服务架构 前后端交互优化 下篇微服务架构 网络传输优化微服务架构 分布式事物后续文章持续更新,收藏关注!作者简介:张程 技术研究更多文章请关注微信公众号:zachary分解狮 (frankly0423)...

2019-04-27 14:40:15 223

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除