12年Java研发经验,8年技术管理和架构经验,熟悉支付和电商领域,擅长微服务生态建设,对Dubbo、Spring Cloud和gRPC等微服务框架有深入研究,并应用于项目,帮助过多家公司进行过微服务建设和改造 合著作品《深入分布式缓存》,目前正在编写《微服务架构实战》
暂时未有相关通用技术能力~
阿里云技能认证
详细说明我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。
image.png 首先我要感谢我的写作团队和编辑牺牲大量的业余时间来共同完成本书,本书将于10月左右正式上市,期待大家多多关注。 书中的内容既包括大量非常有新意的微服务理论知识,也包括大量工作中实践的案例,多种案例可以直接上手借鉴使用。
给公司的一些研发同事分享了Java Agent一些简单的原理和实现,最近比较懒就不整理成文字了,直接上ppt截图。 image.png image.
image.png CAP是什么? CAP理论,被戏称为[帽子理论]。CAP理论由Eric Brewer在ACM研讨会上提出,而后CAP被奉为分布式领域的重要理论[1] 。
一、什么是蓝绿发布 蓝绿部署是不停老版本,部署新版本然后进行测试,确认OK,将流量切到新版本,然后老版本同时也升级到新版本。 1、特点 蓝绿部署无需停机,并且风险较小。
一、重客户端 写入缓存: image.png 应用同时更新数据库和缓存 如果数据库更新成功,则开始更新缓存,否则如果数据库更新失败,则整个更新过程失败。
image.png 一、才智深藏 1、低调做人,高调做事。 2、清楚的事,精美的做,迷糊的事,谦善着做,模糊的事,慎重做。 3、大勇若怯,大七若拙,做个模糊的精明人。
image.png 这张图是作者多年经验积累的总结,涵盖面非常全,我看后深感震撼,转载与大家共享。 image.png 作者:陈明 高清原图:http://cmsblogs.
暂存图片.....文章后补 image.png
2017首届领域驱动技术大会一直是我非常期望的,要非常感谢右军赠送的门票能够让我领略大会风采。 image.png 这届大会组织者非常用心,组织了非常多的话题可供探讨,确实大会的内容给我带来的感觉是震撼的,我之前对领域的了解也仅从《领域驱动设计》以及《实现领域驱动设计》这两本书中有过学习,以及在实现微服务生态体系的过程中有过一些接触。
代理命令示例 java -cp classes:lib/byte-buddy-1.4.16.jar -javaagent:test-1.0-SNAPSHOT.jar com.test.domain.AgentEntity 名词解释 JVMTI:全称JVM Tool Interface,是JVM暴露出来的一些供用户扩展的接口集合。
都在说微服务,那么微服务的反模式和陷阱是什么(一)http://www.jianshu.com/p/3986239138fe 都在说微服务,那么微服务的反模式和陷阱是什么(二)http://www.jianshu.com/p/c76f7f234a31 九、通信协议使用的陷阱 在微服务架构体系中要求每个服务都是独立布署,这就意味着服务之间会有通信,也就是说会有很多的远程访问。
都在说微服务,那么微服务的反模式和陷井是什么(一)http://www.jianshu.com/p/3986239138fe 六、无因的开发者陷阱 名字来自詹姆斯·迪恩演的电影《无因的反叛》(Rebel Without a Cause),一个问题青年因为错误的原因做了错误的决定。
image.png 前言 网上看到一本关于微服务反模式的电子书,看后感觉内容非常棒,于是我决定分阶段翻译成中文书,翻译的目的也是想帮助想深入了解微服务的朋友,由于英文水平有限,如有翻译不对之处希望多留言指正。
image.png 利用早上一小段时间配置了一个demo,目的是帮助大家配置入门,随后我会非常详细的写一些使用和源码分析的文章。 链接:http://pan.
image.png image.png image.png
image.png 注:本文转自好友吴晟的两篇译文 ,译文原文如下:https://github.com/opentracing-contrib/opentracing-specification-zh/blob/master/semantic_conventions.
image.png 一、问题描述 你是山西的一个煤老板,你在矿区开采了有3000吨煤需要运送到市场上去卖,从你的矿区到市场有1000公里,你手里有一列烧煤的火车,这个火车最多只能装1000吨煤,且其能耗比较大――每一公里需要耗一吨煤。
image.png 一、Mysql数据库双活 1、Mysql binlog介绍 官网:https://dev.mysql.com/doc/refman/5.
在项目迭代的过程中,不可避免需要”上线“。上线对应着部署,或者重新部署;部署对应着修改;修改则意味着风险。 目前有很多用于部署的技术,有的简单,有的复杂;有的得停机,有的不需要停机即可完成部署。
一、什么是ETL ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,这里介绍一个ETL工具Kettle,这个工具很强大,支持图形化的GUI设计界面,然后可以以工作流的形式流转,在做一些简单或复杂的数据抽取、质量检测、数据清洗、数据转换、数据过滤等方面有着比较稳定的表现。
关于Raft原理,许多朋友也许不是很明白原理,下面的地址是一个好玩的Raft动画,看完后能够很快的掌握Raft原理: http://thesecretlivesofdata.com/raft/ 动画中的一些概念和简要原理总结如下: image.png 一、Raft原理 在Raft中,每个结点会处于下面三种状态中的一种: 1、follower:所有结点都以follower的状态开始。
一、前言 我们在《微服务是在双刃剑 http://www.jianshu.com/p/82ec12651d2d 》中提到了当我们将应用服务化以后,很多在单块系统中能够开展的数据统计和分析业务将会受到很大程度的影响,本文将延续上一篇文章深入分析服务化后,作为后端的数据统计和分析如何做。
image.png 一、常用文档 Google Dapper 中文论文 http://bigbully.github.io/Dapper-translation/ 分布式追踪系统架构与设计 中文版:http://www.
image.png 微服务是银弹吗?自2014年“微服务”一词真是越来越火,不谈Microservices彷佛就out了,那么我们先来看微服务具有哪些特点: 组件以服务的形式提供 围绕业务功能进行组织 强化终端与弱化管道 产品而不是项目 ...
image.png Java1.8 帮助文档 中文 – 谷歌版 在线版: https://blog.fondme.cn/apidoc/jdk-1.
一、前言 在之前的文章 http://www.jianshu.com/p/c128ed5c394e 中已经介绍了“自动化Mock系统0.9版本”,今天我将和大家一起探讨我们的“自动化Mock系统1.0版本”。
Spring For All 玩最纯粹的技术!做最专业的 Spring 民间组织~ 欢迎加入:http://spring4all.com/ image.png
感谢微信群Spring Boot那些事”的水门兄弟的热心整理和总结,同时也感谢其他热心参与的朋友们 Paste_Image.png 如果大家看不清上述图片,可以点击如下URL查看大图:http://img.
一、说在前面 微服务是当下最火的词语,现在很多公司都在推广微服务,当服务越来越多的时候,我们是否会纠结以下几个问题: 面对一笔超时的订单,究竟是哪一步处理时间超长呢? 数据由于并发莫名篡改,到底都谁有重大嫌疑呢? 处理遗漏了一笔订单,曾经是哪个环节出错把它落下了? 系统莫名的报错,究竟是哪一个服务报的错误? 每个服务那么多实例服务器,如何快速定位到是哪一个实例服务器报错的呢? 现在很多系统都要求可用性达到99.9%以上,那么我们除了增加系统健壮性减少故障的同时,我们又如何在真正发生故障的时候,快速定位和解决问题,也将是我们的重中之重。
一、GIT发展史 同生活中的许多伟大事件一样,Git 诞生于一个极富纷争大举创新的年代。Linux 内核开源项目有着为数众广的参与者。绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。
一、前言 在之前的一篇缓存穿透、缓存并发、缓存失效之思路变迁文章中介绍了关于缓存穿透、并发的一些常用思路,但是个人感觉文章中没有明确一些思路的使用场景,本文继续将继续深化与大家共同探讨,同时也非常感谢这段时间给我提宝贵建议的朋友们。
刘兵,花名玄靖,开源技术爱好者,高性能Redis中间件NRedis-Proxy作者,目前研究方向为java中间件,微服务等技术。 一、什么是分布式发号器 说起分布式发号器的前生今世,咱们应该感恩这个时代;随着互联网在中国越来越普及化,单机系统或者一...
1、在Finder中找到StartUML图标右击: Paste_Image.png 2、找到目录:\www\license\node 3、找到LicenseManagerDomain.
1、强一致性 这种一致性级别是最符合用户直觉的,它要求系统写入什么,读出来的也会是什么,用户体验好,但实现起来往往对系统的性能影响大。 2、弱一致性 这种一致性级别约束了系统在写入成功后,不承诺立即可以读到写入的值,也不久承诺多久之后数据能够达到一致,但会尽可能地保证到某个时间级别(比如秒级别)后,数据能够达到一致状态。
一、思路图展示 Paste_Image.png 二、思路解析 我们都知道Zookeeper的节点有两种类型,分别是持久节点和临时节点。
Paste_Image.png 关于分布式任务调用不错的文章有: http://www.cnblogs.com/zuoxiaolong/p/niubi-job-3.
前言 我们在日常工作中经常会遇到要求缓存和数据库强一致性的问题,我们平常的做法是,确保数据库插入成功,然后再更新缓存,但有时候数据库插入成功后,缓存出现问题或者缓存系统挂了,这时候请求会直接访问数据库最新的数据,但是当缓存恢复的时候,我们的并发请求又会访问到以前旧的缓存数据,这时候就会出现不一致问题。
我们接第一篇来继续说明在代码review中,有哪些属于“层次结构”中的坏味道。 第一篇链接如下:http://www.jianshu.com/p/07dbf69c5957 Paste_Image.png 注:通过上图咱们看到了在层次结构中有九大问题点,咱们就从中找出四个典型的问题点给与分析和解释。