数据处理基于DataMicroservices实现

背景: 谈到微服务化,肯定会想到容器,谈到java的微服务化,势必也想到spring cloud,但是谈到数据微服务化,可能或多或少大家不太理解。Data Microservices被提出来,是要解决现在数据时代下,需要解决如下几个痛点问题,不分先后次序: 数据来源错综复杂,mq、rest...

2017-12-29 13:45:48

阅读数 24

评论数 0

支持MapDB的Eventstore

背景:现在微服务大行其道,虽然微服务开山鼻祖是不建议在微服务下做分布式事务,领域驱动设计早已阐明,具有强一致性要求的一组业务概念,属于同一个聚合,不建议拆到不同服务中,从而尽可能避免分布式强事务一致性的处理。但是不可避免我们没有真的按照DDD领域驱动设计,那么微服务如何保持事务一致性呢? 我...

2017-04-11 18:15:09

阅读数 42

评论数 0

类文件结构解析

就很好奇反编译出来自己写的代码,这里主要使用了五个工具,idea intellij、010edit、jgui、bytecode viewer、eclipse。   HelloWorld package com.google; import java.util.ArrayList...

2017-03-30 15:39:46

阅读数 38

评论数 0

使用Spring-Cloud搭建微服务架构

搭建一套微服务架构的,我个人觉得必须如下模块: config-service api-gateway circuit-breaker registry monitor ***-service 第一步构建config-service,登录http://start.spring....

2017-02-16 14:00:22

阅读数 184

评论数 0

电路熔断器(Circuit Breaker)自我思考

作者:美团点评技术团队链接:https://zhuanlan.zhihu.com/p/23711137来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。在我们的工程实践中,偶尔会遇到一些服务由于网络连接超时,系统有异常或load过高出现暂时不可用等情况,导致对这些服务的...

2017-01-07 21:20:57

阅读数 52

评论数 0

DDD分布式架构设计的BASE一致性

问题背景:        在DDD的架构设计中最难以解决的就是一致性问题,所以我采纳是BASE的最终一致性的方式,至于最终一致性的概念,不在本博客中阐述,设计理念,不外乎就是弥补的方式。       可用性,无论是传统架构还是CQRS架构,都可以做到高可用,只要我们做到让我们的系统中每...

2016-08-09 16:32:27

阅读数 87

评论数 0

支持分布式的callback

项目背景:        之前在某次培训的分享中,谈到rxjava、vertx等开源框架,也了解到callback概念,在分享的中某位童鞋谈到分布式下callback如何处理,说实话在当时的环境能够通过几句话描述callback都比较困难,更何况描述分布式下的callback,所以本文我想通...

2016-08-03 13:10:08

阅读数 50

评论数 0

基于DDD的微服务架构设计

DDD领域驱动设计(DDD:Domain-Driven Design) 架构背景:     现有的架构设计实在受不了,业务的反反复复地变化,导致代码圈复杂度之深让人恐惧。之前的微服务架构经验让我更加彻底点,采用DDD领域驱动设计进行整个改变。     随着经过几个月的努力,确实慢慢地体会...

2016-07-20 17:19:43

阅读数 271

评论数 0

从demo到支持高并发

前言:     Java语言作用很大,因有众多分门杂类的开源框架导致Javaer关注高并发细节问题偏少,常常被面试或者面试的时候,别人总是问你current的包,但是却很少人会询问你,“这段代码在高并发的情况下,会出现问题?我们应该如何改写呢?”所以本篇博客我想从最简单的demo,到支持高并...

2016-02-25 18:16:26

阅读数 96

评论数 0

Vert.x3支持JWT

知识背景:               那年还是菜鸟,开始暗恋Java,像其他的菜鸟一样开始慢慢接触面向对象,硕士之前接触都是c、c++,其实对于面向对象的理解停留在认知阶段,后来自嘲没有女朋友,我可以new一个出来,现在有暗恋开始明恋,到然后喜欢上python,不过自从接触vert.x3和...

2015-12-28 20:48:32

阅读数 27

评论数 0

MapDB的spring整合使用

MapDB是一个快速、易用的嵌入式Java数据库引擎,它提供了基于磁盘或者堆外(off-heap允许Java直接操作内存空间, 类似于C的malloc和free)存储的并发的Maps、Sets、Queues。 业务场景: 朋友公司需要根据坐标,在200m的地址库中寻找离该坐标最近的经纬度...

2015-12-15 23:26:24

阅读数 68

评论数 0

基于Spring支持JMX

前言:       基于Vert写的组件,其中在使用过程中碰到若干瓶颈问题,如果每个组件都采用日志方式,查看资源使用情况略微低廉点,所以采用了JMX来进行管理工作。       提到JMX,就必须按照JMX的规范,写一大堆的MBean、MXBean、Agent等,想起来就挺麻烦的,这个时候...

2015-11-08 00:43:13

阅读数 27

评论数 0

Vertx与Spring配合完成DML操作

前言 vertx相较于Tomcat不同之处 引用oschina上关于vertx的文章,感觉他说得非常明白,不在这里过多讨论,这里我简单说明下如何在vertx和spring配合完成基础任务。   服务启动: public static void main( String[]...

2015-10-29 14:26:58

阅读数 175

评论数 0

基于Netty4网站架构

前言:        本人所在公司在业内比较知名的公司,但是其电商平台真的不敢恭维,都称不上架构,跟传统的软件公司差不多springMVC+Mybatis+redis挂载在nginx+tomcat下,不能说它有问题,就是在高并发、低IO消耗,且移动端使用频繁场景情况下,觉得需要进行改造,所以...

2015-10-28 10:44:57

阅读数 95

评论数 0

Mybatis支持Protobuf

前言:        用netty搭建一套服务化,发现protobuf使用的场景较多,而且我们也想把bean类能够序列化后,放到redis或者数据库,可读性考虑我们想了几种方案xml、json,后来我突发奇想既然这样不如使用protobuf。   其实使用protobuf并不难,就是繁琐一...

2015-10-21 10:25:04

阅读数 56

评论数 0

异常处理

首先提倡下Hibernate的验证器,功能强大且使用方面,Hibernate Validator提供包括国际化,传统的字符空,非法的输入等,而且给了很友善的message信息。 public class BeanValidators { /** * 调用JSR303的valida...

2015-10-08 16:12:54

阅读数 23

评论数 0

依托于Spring重加载

这几天发现单位同事都在使用JRebel作为热部署工具,它集合多个容器,能够不在重启的情况下进行部署。我们在开发过程中,经常碰到改动xml等配置文件的时候,需要进行重新启动容器,重而带来开发进度缓慢。   我是一个传统的人,感觉WTP部署已经够强悍,但是看着90后小朋友玩这么酷炫的万一,让我由...

2015-10-05 22:13:27

阅读数 16

评论数 0

绑定请求

public abstract class ThreadContext { /** * Private internal log instance. */ private static final Logger log = LoggerFacto...

2015-10-03 10:01:17

阅读数 16

评论数 0

Spring自定义拦截器配置

前言: 公司生产环境频频被报性能瓶颈问题,为了找出问题的所在,现有的很多种方式能够解决,但是为了能够观测到具体的方法,我们想通过拦截那种耗时的方法,然后插入数据库,后台支撑系统能够实时的观察...   为了上述描述的结果,我们采用spring拦截器的方式,通过stopwatch的观察者模式...

2015-09-27 10:02:49

阅读数 42

评论数 0

AOP的切面思考

简单介绍下如何使用PointCut、Advisor   @Component @Aspect public class LogAspect { private static final Logger log = LoggerFactory.getLogger(LogAsp...

2015-09-08 18:03:12

阅读数 13

评论数 0

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