马猴烧酒└(┐卍^o^)卍ドゥルルル

https://github.com/lijingyao/

排序:
默认
按更新时间
按访问量

如何构建分布式系统的知识体系

对于开发工程师们来说,相信对于这种招聘要求的描述并不陌生:”熟悉分布式系统的设计和应用;熟悉分布式、缓存、消息、搜索等机制;能对分布式常用技术进行合理应用,解决问题”。 现在基本上大多数大、中型企业都会要求工程师们,除了要能在分布式环境中进行开发,还要了解其中的原理、机制,对于架构师来说还需要能...

2018-09-02 21:57:48

阅读数:498

评论数:2

分布式微服务架构的技术体系

花了一些时间对微服务架构体系的理论以及实践进行了总结。一部分课程已经整理完毕上线了。 课程链接:微服务架构的技术体系详解 课程简介: 微服务架构的技术体系、社区目前已经越来越成熟。在最初系统架构的搭建,或者当现有架构已到达瓶颈需要进行架构演进时,很多架构师、运维工程师会考...

2018-07-10 20:55:19

阅读数:3874

评论数:3

JVM性能调优实践——G1 垃圾收集器分析、调优篇

前言 关于G1 GC以及其他垃圾收集器的介绍可以参考前一篇JVM性能调优实践——G1 垃圾收集器介绍篇。了解了G1垃圾收集器的运行机制之后,就可以针对一些GC相关参数来调整内存分配以及运行策略。下文的调优主要针对G1垃圾收集器进行介绍,以及会分析一下G1 GC的日志格式。 ...

2018-06-04 13:58:15

阅读数:2779

评论数:9

JVM性能调优实践——G1 垃圾收集器介绍篇

前言 前面两篇主要整理了性能测试的主要观察指标信息:性能测试篇,以及JVM性能调优的工具:JVM篇。这一篇先简单总结一下GC的种类,然后侧重总结下G1(Garbage-First)垃圾收集器的分代,结合open-jdk源码分析下重要算法如SATP,重要存储结构如CSet、RSet、TLAB、PL...

2018-05-30 17:34:59

阅读数:4951

评论数:33

JVM性能调优实践——JVM篇

前言 在遇到实际性能问题时,除了关注系统性能指标。还要结合应用程序的系统的日志、堆栈信息、GClog、threaddump等数据进行问题分析和定位。关于性能指标分析可以参考前一篇JVM性能调优实践——性能指标分析。 JVM的调优和故障处理可以使用JDK的几个常用命令工具。因为本文是基于D...

2018-05-24 11:46:49

阅读数:6112

评论数:1

JVM性能调优实践——性能测试篇

前言 本文主要基于工作中,关于性能调优的一些零散的信息整理。总结性的信息,以测试环境为例。系统信息如下: os: Linux 64位 jdk:java version “1.8.0_121”, HotSpot(TM) 64-Bit Server VM docker version: 1...

2018-05-15 17:11:56

阅读数:1890

评论数:0

Mysql InnoDB连接池占满问题

简单做一下线上问题排查的记录。使用的Mysql引擎是 InnoDB 5.7。 排查log 通过排查应用日志(只有其中一台机器),可以马上定位到问题是数据库连接池满了。具体日志如下: 2018-05-10 10:42:16.824 WARN 5 [xec-3303...

2018-05-11 22:22:28

阅读数:2415

评论数:0

SpringData3.x以及SpringBoot2集成Elasticsearch5.x

说明 关于如何在SpringBoot 1.x 的版本中集成Elasticsearch 2.x可以参考前文Elasticsearch实践(二)在Springboot微服务中集成搜索服务。2017年底,SpringData项目终于更新了Elasticsearch5.x版本的对应release版本:3...

2018-01-26 11:14:50

阅读数:11462

评论数:1

基于Spring-statemachine的有限状态机(FSM)的介绍及示例

前言本文主要介绍一下状态机以及相关的一些概念。结合一个简单的订单状态流程,示例怎样在Springboot中集成Spring-statemachine。有限状态机(Finite-state machine)有限状态机(英语:finite-state machine,缩写:FSM),简称状态机,是表示...

2017-11-26 20:31:19

阅读数:28398

评论数:6

Elasticsearch实践(二)在Springboot微服务中集成搜索服务

关于如何用Docker搭建Elasticsearch集群环境可以参考前一篇:Elasticsearch实践(一)用Docker搭建Elasticsearch集群。本文主要介绍,如果在Springboot体系中集成Elasticsearch服务。本文基于:Elasticsearch版本是2.2.4,...

2017-11-23 14:32:57

阅读数:29665

评论数:9

Elasticsearch实践(一)用Docker搭建Elasticsearch集群

前言本系列文章主要是针对之前搭建以及实践基于springboot的搜索服务的总结。主要分为两部分: 1. 对于用Docker搭建分布式Elasticsearhc集群的一个介绍,以及一些实施中遇到问题的总结。(本篇) 2. 后面一篇会整理一下在基于Springboot的微服务体系中,如何更轻量级...

2017-11-18 10:21:24

阅读数:22775

评论数:8

基于docker-swarm搭建持续集成集群服务

前言本文只为自己搭建过程中的一些简单的记录。如果实践中有疑问,可以一起探讨。 为了能在本机(macOS)模拟集群环境,使用了vb和docker-machine。整体持续集成的几个机器设施如下: 服务节点:三个manager节点,一个worker节点。manager需要占用更多的资源...

2016-12-18 17:39:02

阅读数:20003

评论数:0

通过字节码分析JDK8中Lambda表达式编译及执行机制

关于Lambda字节码相关的文章,很早之前就想写了,线上产品的后端技术,能快速迭代,除了得益于整体微服架构之外,语言层面上,也是通过Java8的lambda表达式的运用以及rxJava响应式编程框架,使代码更加简洁易维护,调用方式更加便捷。本文将介绍JVM中的方法调用相关的字节码指令,重点解析JD...

2016-04-23 13:07:01

阅读数:22574

评论数:13

基于Redis实现分布式锁-Redisson使用及源码分析

在分布式场景下,有很多种情况都需要实现最终一致性。在设计远程上下文的领域事件的时候,为了保证最终一致性,在通过领域事件进行通讯的方式中,可以共享存储(领域模型和消息的持久化数据源),或者做全局XA事务(两阶段提交,数据源可分开),也可以借助消息中间件(消费者处理需要能幂等)。通过Observer模...

2016-04-14 13:40:26

阅读数:30790

评论数:9

领域服务、领域事件

综合前两篇总结,这篇对领域服务和领域事件做一个梳理。先说明下本文的领域服务和应用服务。SOA服务,或者应用间的RPC调用,Restful接口,或者通过消息中间件进行系统间的交互的,都可以归类为应用服务。相较之下,领域服务不一定涉及到远程调用或者重量级事务操作。所以上下文集成也就涉及到,怎样的方式去...

2016-03-12 19:19:09

阅读数:21133

评论数:0

领域驱动设计整理——实体和值对象设计

实体引言在领域驱动设计里,实体的设计可以说是通用语言的核心,也是最开始在模型划分中需要考虑的。怎么样设计实体和怎么样划分限界上下文同样重要。实体的概念就是要保证通用语言的完整性。领域驱动让设计实体的关注点从数据的属性和表的关联转化到了富有行为的领域概念上。 实体是具有可变性的,这是一个和值对象比较...

2016-01-10 21:49:10

阅读数:20343

评论数:0

领域驱动设计整理——概念&架构

领域、子域、限界上下文DDD(Domain-Drive Design)的概念或者说业界的声音其实可以追溯到几十年前了。最近开始想要系统得整理一下DDD的一些东西。这一篇是一个简单的引子,也是mark一下自己接触到的概念和理解。 对于领域的概念其实很好理解,就如字面意思一样,比如出版书籍领域,广告...

2015-12-13 16:53:15

阅读数:20365

评论数:0

Docker 容器部署 Consul 集群

Consul 介绍  Consul 提供了分布式系统的服务发现和配置的解决方案。基于go语言实现。并且在git上开放了源码consul-git。consul还包括了分布式一致协议的实现,健康检查和管理UI。Consul和zk相比较起来,更加轻量级,而且一致性上基于RAFT算法,zk使用的Paxos...

2015-09-29 13:39:31

阅读数:22662

评论数:0

ASM(六) 利用TreeApi 动态生成以及转换方法字节码

一、MethodNode概述      ASM的TreeApi 对于Method的转换、生成也提供了一系列的组件和接口。其功能主要基于前一章提到的MethodNode类。MethodNode中大多数属性和方法都和ClassNode类似,其中最主要的属性就是InsnList了。InsnList是一...

2015-08-29 18:52:50

阅读数:19289

评论数:1

从字节码指令看重写在JVM中的实现

Java是解释执行的,包括动态链接的特性,都给解析或运行期间提供了很多灵活扩展的空间。面向对象语言的继承、封装和多态的特性,在JVM中是怎样进行编译、解析,以及通过字节码指令如何确定方法调用的版本是本文如下要探讨的主要内容,全文围绕一个多态的简单举例来看在JVM中是如何实现的。

2015-07-30 19:22:35

阅读数:18876

评论数:0

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