标签:Atom

编程技术

微服务架构下分布式事务解决方案-hoop(一)

8

hanze 发布于 2019-02-15

前言 数据库事务( 简称:事务,Transaction )是指数据库执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。 事务拥有以下四个特性,习惯上被称为 ACID 特性: 原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要...

阅读(16)评论(0)赞 (0)

Java

Java魔法类——Unsafe应用解析

14

xiaoli.wang 发布于 2019-02-15

前言 Unsafe是位于sun.misc包下的一个类,主要提供一些用于执行低级别、不安全操作的方法,如直接访问系统内存资源、自主管理内存资源等,这些方法在提升Java运行效率、增强Java语言底层资源操作能力方面起到了很大的作用。但由于Unsafe类使Java语言拥有了类似C语言...

阅读(12)评论(0)赞 (0)

编程技术

分布式架构知识体系

8

puefu.he 发布于 2019-02-15

1.问题 1、何为分布式何为微服务? 2、为什么需要分布式? 3、分布式核心理论基础,节点、网络、时间、顺序,一致性? 4、分布式是系统有哪些设计模式? 5、分布式有哪些类型? 6、如何实现分布式? 2.关键词 节点,时间,一致性,CAP,ACID,BASE,P2P,机器伸缩,网...

阅读(12)评论(0)赞 (0)

Java

追踪解析 Disruptor 源码

songhua.gao 发布于 2019-02-14

零 前期准备 0 FBI WARNING 文章异常啰嗦且绕弯。 1 版本 Disruptor 版本 : Disruptor 3.4.2 IDE : idea 2018.3 JDK 版本 : OpenJDK 11.0.1 2 Disruptor 简介 高性能线程间消息队列框架 Di...

阅读(10)评论(0)赞 (0)

Java

Java并发研究 自己写ReentrantLock和ReentrantReadWriteLock(4)

3

xiaoli.he 发布于 2019-02-14

接上篇。在写完ReentrantLock之后,其实可以基于ReentrantLock写一个ReadWriteLock,《the art of multiprocessor programming》第八章有介绍。但是,本着不完全AQS(AbstractQueuedSynchroni...

阅读(11)评论(0)赞 (0)

Java

使用 Micrometer 记录 Java 应用性能指标

刘莉莉 发布于 2019-02-13

运行良好的应用离不开对性能指标的收集。这些性能指标可以有效地对生产系统的各方面行为进行监控,帮助运维人员掌握系统运行状态和查找问题原因。性能指标监控通常由两个部分组成:第一个部分是性能指标数据的收集,需要在应用程序代码中添加相应的代码来完成;另一个部分是后台监控系统,负责对数据进...

阅读(12)评论(0)赞 (0)

Java

阿里巴巴Java开发手册阅读笔记

2

zhuangli 发布于 2019-02-07

【强制】 POJO 类中布尔类型的变量,都不要加 is,否则部分框架解析会引起序列化错误。 反例:定义为基本数据类型 Boolean isDeleted;的属性,它的方法也是 isDeleted(),RPC 框架在反向解析的时候,“以为”对应的属性名称是 deleted,导致属性...

阅读(29)评论(0)赞 (0)

Java

dubbo源码解析(三十八)集群——LoadBalance

3

yeseng 发布于 2019-02-07

集群——LoadBalance 目标:介绍dubbo中集群的负载均衡,介绍dubbo-cluster下loadBalance包的源码。 前言 负载均衡,说的通俗点就是要一碗水端平。在这个时代,公平是很重要的,在网络请求的时候同样是这个道理,我们有很多机器,但是请求老是到某个服务器...

阅读(40)评论(0)赞 (0)

Java

dubbo源码解析(三十五)集群——cluster

1

zhuangli 发布于 2019-02-04

远程调用——cluster 目标:介绍dubbo中集群容错的几种模式,介绍dubbo-cluster下support包的源码。 前言 集群容错还是很好理解的,就是当你调用失败的时候所作出的措施。先来看看有哪些模式: 图有点小,见谅,不过可以眯着眼睛看稍微能看出来一点,每一个Clu...

阅读(37)评论(0)赞 (0)

编程技术

微服务接口限流的设计与思考

3

dulong 发布于 2019-02-02

说明 微服务拆分之后,系统之间的调用关系错综复杂,平台的整体复杂熵升高,出错的概率、debug 问题的难度都高了好几个数量级。所以,服务治理便成了微服务的一个技术重点。服务治理本身的概念比较大,包括鉴权、限流、降级、熔断、监控告警等等,本文聚焦于限流,根据笔者的实战经验,分享一些...

阅读(25)评论(0)赞 (0)

编程技术

goa 1.4.1 发布,Go 微服务与 REST API 框架

hanze 发布于 2019-01-31

Goa 1.1.0 发布,Go 语言构建微服务框架 Goa 1.1.0 发布了,Goa 是在 Go 中构建微服务和 API 的框架,采用独特的设计优先方法。使用前确保有 Go 语言环境。 部分更新内容: 程序代码生成:使得方便地以编程方式调用生成器,而不是通… 王练 ...

阅读(28)评论(0)赞 (0)

Java

追踪解析 ReentrantLock 源码

Harries 发布于 2019-01-31

零 前期准备 0 FBI WARNING 文章异常啰嗦且绕弯。 1 版本 JDK 版本 : OpenJDK 11.0.1 IDE : idea 2018.3 2 ReentrantLock 简介 ReentrantLock 是 jdk 中经典的高性能重用锁,作为基础组件经常能在 ...

阅读(30)评论(0)赞 (0)

Java

dubbo源码解析(三十二)远程调用——thrift协议

songhua.gao 发布于 2019-01-30

远程调用——thrift协议 目标:介绍thrift协议的设计和实现,介绍dubbo-rpc-thrift的源码。 前言 dubbo集成thrift协议,是基于Thrift来实现的,Thrift是一种轻量级,与语言无关的软件堆栈,具有用于点对点RPC的相关代码生成机制。Thrif...

阅读(28)评论(0)赞 (0)

Java

一文搞懂Java随机数生成

1

hanze 发布于 2019-01-30

你是如何生成随机数据的? 是这样? new Random().nextInt(); 复制代码 是这样? org.apache.commons.lang3.RandomUtils.nextInt(startInclusive, endExclusive); 复制代码 还是这样? T...

阅读(28)评论(0)赞 (0)

Java

Java并发研究 自己写ReentrantLock和ReentrantReadWriteLock(3)

3

尖兵 发布于 2019-01-29

本系列是基于经验设计原型,然后不断优化最终达到和AQS(AbstractQueuedSynchronizer)类似的设计。最终结果不一定和AQS完全一致,基于个人理解会有修改,可以作为理解AQS的不完全参考。 接上篇。本篇主要介绍Condition即条件变量的实现,Reentra...

阅读(19)评论(0)赞 (0)

Java

踩坑 Spring Cloud Hystrix 线程池队列配置

4

刘莉莉 发布于 2019-01-29

有一次在生产环境,突然出现了很多笔还款单被挂起,后来排查原因,发现是内部系统调用时出现了Hystrix调用异常。在开发过程中,因为核心线程数设置的比较大,没有出现这种异常。放到了测试环境,偶尔有出现这种情况,后来在网上查找解决方案,网上的方案是调整maxQueueSize属性就好...

阅读(29)评论(0)赞 (0)

Java

如何构建SpringBoot MongoDb RestfulApi? – groko

尖兵 发布于 2019-01-29

打开pom.xml文件,添加Spring Data Rest和Spring Data Mongo依赖项: <dependency> <groupId>org.springframework.boot</groupId> <artifact...

阅读(36)评论(0)赞 (0)

Java

是时候 Get 新技能了:使用 Java 爬取网页信息

5

hellas 发布于 2019-01-27

如果你想利用自己的技术做出一点有意思的产品来,那么爬虫、算法和 AI 等技术可能是一个不错的突破口。今天,我们就来介绍下使用 Java 爬取页面信息的几种思路。 说起爬虫,自从 Python 兴起之后,人们可能更多地使用 Python 进行爬虫. 毕竟,Python 有许多封装好...

阅读(48)评论(0)赞 (0)