
分布式应用
L.Y001
Shoot for the moon. Even if you miss, you'll land among the stars
展开
-
Spring Could
spring could Demo 包括了: 注册中心 服务提供者 服务消费者 网关原创 2017-02-16 15:43:49 · 2493 阅读 · 0 评论 -
微服务事务设计/问题
事务问题从单体应用迁移到微服务架构时,不得不面临的问题之一就是事务。在单体应用时代,所有业务共享同一个数据库,一次请求操作可放置在同一个数据库事务中;在微服务架构下,这件事变得非常困难。然而事务问题不可避免,非常关键。解决事务问题时,最先想到的解决方法通常是分布式事务。分布式事务在传统系统中应用的比较广泛,主要基于两阶段提交的方式实现。然而分布式事务在微服务架构中可行性并不高,主要基于这些考虑:分布原创 2017-03-22 14:18:14 · 829 阅读 · 0 评论 -
Google Authenticator
TODO Google Authenticator原创 2017-04-10 17:22:50 · 941 阅读 · 0 评论 -
关于微服的一些资料
微服事务处理 http://eventuate.io/ 微服架构 http://microservices.io原创 2017-04-04 13:33:34 · 585 阅读 · 0 评论 -
消息中间件(MQ)能给我们带来什么
消息中间件(MQ)能给我们带来什么 http://www.jblog.top/article/details/254951原创 2017-08-16 23:22:20 · 599 阅读 · 0 评论 -
spring could 微服务 跨域问题(CORS )
记 一坑 CORS 在微服务网关 zuul 和 底下的服务都设置 跨域 CorsFilter 导致 前段跨域失败 。@Configurationpublic class CorsConfig { @Bean public CorsFilter corsFilter() { final UrlBasedCorsConfigurationSource sourc原创 2017-07-03 22:45:38 · 15908 阅读 · 0 评论 -
TokenBucket(令牌桶算法) LeakBucket(漏桶算法) 两种限流算法
TokenBucket(令牌桶算法) LeakBucket(漏桶算法) 两种限流算法原创 2017-06-05 09:55:29 · 1958 阅读 · 0 评论 -
基于 AOP 和 Redis 实现的分布式锁
思路是:获取锁使用 redis setnx key value 特性 :如果设置成功,返回 1 。 设置失败,返回 0 。 设置key 的过期时间用完了删除key采用 AOP 提高开发效率自定义注解 包含 过期时间,等待时间,key自定义注解/** * Created by linving on 2017/4/24. */@Target({ ElementType.METH原创 2017-05-11 16:56:22 · 2465 阅读 · 0 评论 -
redis使用watch秒杀抢购思路
1、使用watch,采用乐观锁 2、不使用悲观锁,因为等待时间非常长,响应慢 3、不使用队列,因为并发量会让队列内存瞬间升高import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import redis.clients.jedis.Jedis;/** * redis测试抢购 *原创 2017-04-15 13:02:05 · 19774 阅读 · 12 评论 -
MQ 解决分布式事务的一些思路
不同于单一架构应用(Monolith), 分布式环境下, 进行事务操作将变得困难, 因为分布式环境通常会有多个数据源, 只用本地数据库事务难以保证多个数据源数据的一致性. 这种情况下, 可以使用两阶段或者三阶段提交协议来完成分布式事务.但是使用这种方式一般来说性能较差, 因为事务管理器需要在多个数据源之间进行多次等待. 有一种方法同样可以解决分布式事务问题, 并且性能较好, 这就是我这篇文章要介绍的转载 2017-04-03 00:24:27 · 10725 阅读 · 0 评论 -
Thrift
Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年进入Apache开源项目。Thrift通过一个中间语言(IDL, 接口定义语言)来定义RPC的接口和数据类型,然后通过一个编译器生成不同语言的代码(C++,Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk和OCaml),并由原创 2017-03-22 14:06:34 · 371 阅读 · 0 评论 -
springboot log4j2
1、pom.xml加入log4j2,并同时把spring boot默认的logging去掉<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId>原创 2017-03-21 17:39:33 · 984 阅读 · 0 评论 -
轻量级分布式文件系统fastDFS
fastDFS原创 2016-12-11 12:23:05 · 873 阅读 · 0 评论 -
架构的演进
单台架构: 学生时代就开始搞网站,开始的时候并不知道,网站怎么弄。以为就是有HTML组成的。后来通过 不断的学习才只有原来有个:后台,还有个叫数据库东西。 那时候就以为网站就是 后一个后台加数据库组成的。 自己也跟着借来的书一点一点的学习,敲代码。搭建成功一个 hello world 别提多高兴。后来逐步的设计到了数据库,文件保存等。大学毕业前形成的架构概念就是:一台Tomcat + 一个We原创 2017-02-11 14:52:17 · 377 阅读 · 0 评论 -
Dubbo的介绍
Dubbo介绍:Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能。Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。现在已经不维护了,淘宝开发了另一套系统 hfs,替代了dubbo 。可以做什么 • Rem原创 2017-02-11 18:08:54 · 343 阅读 · 0 评论 -
Dubbo 的简单实用
使用Dubbo 的安装一个注册中心来注册服务,一般选用的是 zookeeper 。zookeeper的安装并不是很复杂。Dubbo采用全spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。可以直接像使用本地已经实现的接口一样,通过Spring Bean 容器里面直接获取。这也是Dubbo最原创 2017-02-12 11:39:12 · 335 阅读 · 0 评论 -
Spring cloud 微服架构(一)
目标包括: 1. spring boot 简单使用(集成Mybatis ,打包 docker) 2. spring cloud 服务注册 3. spring cloud 服务发现与使用 4. spring cloud 负载均衡 5. spring cloud 断路器 6. spring cloud 服务网关 7. 后面加入 MQ ,Redis原创 2017-02-13 18:05:23 · 1065 阅读 · 0 评论 -
Java通过Executors提供四种线程池
Java通过Executors提供四种线程池,分别为: newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程。 newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待。 newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行。 n原创 2017-03-08 16:05:14 · 442 阅读 · 0 评论 -
ThreadLocal
ThreadLocal的作用是提供线程内的局部变量,这种变量在线程的生命周期内起作用,减少同一个线程内多个函数或者组件之间一些公共变量的传递的复杂度。相信读者在网上也看了很多关于ThreadLocal的资料,很多博客都这样说:ThreadLocal为解决多线程程序的并发问题提供了一种新的思路;ThreadLocal的目的是为了解决多线程访问资源时的共享问题。如果你也这样认为的,清空之前对Thread原创 2017-02-27 14:15:46 · 409 阅读 · 0 评论 -
spring-session-data-redis
分布式会话管理 spring-session-data-redis原创 2017-03-09 17:33:13 · 805 阅读 · 0 评论 -
Sharding-JDBC
Sharding-JDBC 当当的分库分表 插件。原创 2017-03-07 09:04:58 · 532 阅读 · 0 评论 -
API接口安全性设计
接口的安全性主要围绕Token、Timestamp和Sign三个机制展开设计,保证接口的数据不会被篡改和重复调用,下面具体来看:Token授权机制:用户使用用户名密码登录后服务器给客户端返回一个Token(通常是UUID),并将Token-UserId以键值对的形式存放在缓存服务器中。服务端接收到请求后进行Token验证,如果Token不存在,说明请求无效。时间戳超时机制:用户每次请求都带上当前时间原创 2017-04-08 15:46:09 · 7379 阅读 · 1 评论