6 红豆和绿豆
尚未进行身份认证
暂无相关简介
FactoryBean 与普通Bean区别: FactoryBean返回的对象不是其实现类的一个实例,而是getObject()方法所返回的对象。 作用: bean的配置统一, 控制getObject()的逻辑返回不同的bean;与动态代理结合 场景: RPC调用时,消费者需要向调用本地服务一样调用远程服务,这就需要对消费者进行代理,将远程服务调用过程封装,使得调用方不感知。代...
使用FactoryBean和动态代理 实现针对一个接口动态的在执行的时候 获取实现类package extpoint;public enum BizIdentityEnum { QQ("123","qq"), WEIXIN("456","weixin") ; private String code; private String name;...
日志拉取客户端logstash、flume日志存储中间件缓存:kafka日志实时处理flink,storm,spark都可以处理结果存放:es,hbase,redis业内实现开源的Open TracingopenTracing是为了解决不同系统之间的兼容性设计的,现在也成为了各个第三方Trace系统的依赖的规范。 Twitter的Zipin ...
分布式服务:dubbo,gprc,springcloud分布式消息:notify,metaq分布式缓存:tair,memcache,redis分布式调度:scheduler分布式数据库分库分表中间件:分布式搜索:es分布式事务:xts,txc分布式计算:flink,storem,spark分布式幂等组件分布式锁:tair,redis实现分布式文件系统:hdf...
http://www.javaposse.com
在分布式的环境下,如何实现用户的单点登录以及权限控制?(1)可以使用开源软件CAS, CAS的客户端支持java,/net,php等语言 CAS的server支持多种登录方式,用户名,密码,图形。以及手机号和验证码,微信登录如果业务是分布式开发,则需要与spring session联合使用,存储用户的登录状态。或者使用cookie的方式在登录控...
1、如何实现分布式session,保证在分布式的条件下让用户只登陆一次就可以?方案:(一):使用cookie+tair的方式实现 cookie存放sessionid给服务端,服务端根据sessionid获取tair中具体的session信息(二)使用Spring-session的方式实现 这种方式,更加方便,跟方案(一)类似,只是spring帮我们更好的将这...
背景:目前很多的公司都有自己的会员体系,那么如何让用户成为会员呢?增加用户的粘性。如果你是一个架构师如何长远的设计整体的方案,从而兼容各种业务场景的使用?比如淘宝的88vip会员卡,肯德基的会员卡,麦当劳的会员卡,鲜丰水果的会员卡,京东会员卡,等等各种电子会员卡,有的是收费的,有的是免费的。设计: ...
1.hbase连接管理类:package com.xcsqjr.acs.web.config;import org.springframework.beans.factory.annotation.Value;import org.springframework.context.annotation.Bean;import org.springframework.context.ann...
背景:目前在做项目的时候,需要使用hbase进行数据的查询,一些评论记录,消费数据,交易日志等数据都是存储在hbase中的,因为都是海量的数据。了解hbase的原理是必要的,因此必须要学习好 rowkey的设计,否则会出现热点问题。可以百度这个rowkey 的设计,比如一般使用:随机,md5,分桶,反转等基本的手段就可以了。还需要了解hadoop的hdfs,因为hbase的HFile存储在hado...
package date;import java.time.*;import java.time.format.DateTimeFormatter;import java.util.Date;public class DateTest { public static void main(String[] args){ LocalDate localDate=L...
JarsLink (原名Titan) 是一个基于JAVA的模块化开发框架,它提供在运行时动态加载模块(一个JAR包)、卸载模块和模块间调用的API。也是阿里巴巴的开源项目之一https://github.com/alibaba/ja...,目前在微贷事业群广泛使用。使用场景(1)统一下单,可以使用这个jar针对不同的业务进行隔离以及热发布(2)B端的系统以及跨网管的调用可以做一个...
背景:最近在搭建新的系统,因此在搭建系统的时候,我主要做了以下几个方面的事情步骤:(1)首先实现一个模版回调做为一个业务入口,实现统一参数校验、业务执行、统一异常处理、统一监控埋点日志打印处理(2)业务执行步骤:可以使用自己编写简单的工作工作流引擎和并发调用框架,做为基础公共模块供业务层使用。(3)针对DB的操作,使用统一的mybatis自动代码生成框架生成代码,如果db是Hbas...
简介java里面日志分为两部分一个门面、一个实现,我们所熟知的SLF4j、Log4j、Log4j2、Logback的日志组件slf4j是门面提供的统一的入口,具体实现由log4j、log4j2、logback来实现log4j由于太老作者自己也不打算重构了所以放弃log4j2是apach的一个项目很好,但支持上面略有欠缺所以放弃logback是之前log4j的作者自己开源的一个新的l...
背景:如果页面表单有很多字段需要提交,因此使用注解校验的方式针对pojo的属性进行校验 因此使用javax标准以及org.hibernate的validator的注解校验具体的javax的validation的注解以及hibernate的注解都是可以使用的,具体的扩展可以在网上找找,目前在这里就不再进行扩展了。一开始项目使用spring-module 0.9的jar,发现这个鬼东西不支持spr...
背景:目前比如大型电商淘宝,京东的商品详情页和店铺详情页都有大量的信息,目前如果一个主接口串行的调用,则会出现性能不足的情况,因此可以考虑使用多线程的调用,看看具体的业务是否是cpu密集型 还是 io密集型,一般都是io密集型,因此使用多线成问题不大。做好一个业务一个线程池,分开维护,如果多个业务使用同一个线程池,容易导致线程之间的冲突。具体的实现如下:package concurren...
背景:目前在做公司系统迁移的任务,需要将一个系统的能力拆分到一个新的系统,涉及到DB的的一些数据步骤:(1)首先涉及架构方案,比如针对数据的处理,存量数据和增量的数据。存量数据同步的方式:存量的数据可以通过离线表清洗出id,然后通过接口调用的方式进行数据迁移。增量数据同步的方式:1、使用消息的方式:增量数据就需要数据进行双写,比如商家修改一条数据,则先在原有系统A操作,然...
public interface Invocation { void invoke();}public class ApiInvocation implements Invocation{ private Iterator<Intercaptor> iterator; /** * @param ...
使用抽象工厂设计,兼容不同客户端有不同的模块针对不同的模块进行抽象针对多个服务的调用,可以并发的调用缩短整个页面的响应时间package homepage;import org.springframework.util.CollectionUtils;import java.util.HashMap;import java.util.List;import java.ut...
WelcomeLatest version of Rebound is version 0.2Rebound is a Java library for looking up subclasses of a given class or interface using Java reflection. Rebound allows your to look up your classes ...