6 红豆和绿豆

尚未进行身份认证

暂无相关简介

等级
TA的排名 1k+

FactoryBean与动态代理结合

FactoryBean  与普通Bean区别: FactoryBean返回的对象不是其实现类的一个实例,而是getObject()方法所返回的对象。  作用: bean的配置统一, 控制getObject()的逻辑返回不同的bean;与动态代理结合  场景: RPC调用时,消费者需要向调用本地服务一样调用远程服务,这就需要对消费者进行代理,将远程服务调用过程封装,使得调用方不感知。代...

2019-11-02 22:46:13

如何实现扩展点方案一

使用FactoryBean和动态代理 实现针对一个接口动态的在执行的时候 获取实现类package extpoint;public enum BizIdentityEnum { QQ("123","qq"), WEIXIN("456","weixin") ; private String code; private String name;...

2019-11-02 22:43:09

分布式trace实现系统治理

日志拉取客户端logstash、flume日志存储中间件缓存:kafka日志实时处理flink,storm,spark都可以处理结果存放:es,hbase,redis业内实现开源的Open TracingopenTracing是为了解决不同系统之间的兼容性设计的,现在也成为了各个第三方Trace系统的依赖的规范。 Twitter的Zipin ...

2019-10-05 23:06:06

后端程序员需要学会的分布式中间件

分布式服务:dubbo,gprc,springcloud分布式消息:notify,metaq分布式缓存:tair,memcache,redis分布式调度:scheduler分布式数据库分库分表中间件:分布式搜索:es分布式事务:xts,txc分布式计算:flink,storem,spark分布式幂等组件分布式锁:tair,redis实现分布式文件系统:hdf...

2019-10-05 22:48:04

边学英语边学知识

http://www.javaposse.com

2019-10-05 22:42:12

如何实现单点登录和权限控制

在分布式的环境下,如何实现用户的单点登录以及权限控制?(1)可以使用开源软件CAS, CAS的客户端支持java,/net,php等语言 CAS的server支持多种登录方式,用户名,密码,图形。以及手机号和验证码,微信登录如果业务是分布式开发,则需要与spring session联合使用,存储用户的登录状态。或者使用cookie的方式在登录控...

2019-10-05 22:08:49

分布式session的方案

1、如何实现分布式session,保证在分布式的条件下让用户只登陆一次就可以?方案:(一):使用cookie+tair的方式实现 cookie存放sessionid给服务端,服务端根据sessionid获取tair中具体的session信息(二)使用Spring-session的方式实现 这种方式,更加方便,跟方案(一)类似,只是spring帮我们更好的将这...

2019-10-05 21:34:37

如何实现各种行业各种类型会员卡体系的设计

背景:目前很多的公司都有自己的会员体系,那么如何让用户成为会员呢?增加用户的粘性。如果你是一个架构师如何长远的设计整体的方案,从而兼容各种业务场景的使用?比如淘宝的88vip会员卡,肯德基的会员卡,麦当劳的会员卡,鲜丰水果的会员卡,京东会员卡,等等各种电子会员卡,有的是收费的,有的是免费的。设计: ...

2019-10-04 23:01:20

使用spring项目的HbaseTemplate对hbase进行复杂查询

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...

2019-09-04 14:41:45

hbase的基本封装

背景:目前在做项目的时候,需要使用hbase进行数据的查询,一些评论记录,消费数据,交易日志等数据都是存储在hbase中的,因为都是海量的数据。了解hbase的原理是必要的,因此必须要学习好 rowkey的设计,否则会出现热点问题。可以百度这个rowkey 的设计,比如一般使用:随机,md5,分桶,反转等基本的手段就可以了。还需要了解hadoop的hdfs,因为hbase的HFile存储在hado...

2019-09-28 22:05:18

java8针对LocalDateTime和LocalDate和LocalTime和Date之间的转换

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...

2019-09-15 21:00:55

阿里巴巴开源框架JarsLink,可以使用热部署的方式发布jar,实现业务隔离

JarsLink (原名Titan) 是一个基于JAVA的模块化开发框架,它提供在运行时动态加载模块(一个JAR包)、卸载模块和模块间调用的API。也是阿里巴巴的开源项目之一https://github.com/alibaba/ja...,目前在微贷事业群广泛使用。使用场景(1)统一下单,可以使用这个jar针对不同的业务进行隔离以及热发布(2)B端的系统以及跨网管的调用可以做一个...

2019-09-15 16:49:55

新系统创建如何搭建一个简单的框架

背景:最近在搭建新的系统,因此在搭建系统的时候,我主要做了以下几个方面的事情步骤:(1)首先实现一个模版回调做为一个业务入口,实现统一参数校验、业务执行、统一异常处理、统一监控埋点日志打印处理(2)业务执行步骤:可以使用自己编写简单的工作工作流引擎和并发调用框架,做为基础公共模块供业务层使用。(3)针对DB的操作,使用统一的mybatis自动代码生成框架生成代码,如果db是Hbas...

2019-09-15 16:20:19

使用slf和logback进行日志打印

简介java里面日志分为两部分一个门面、一个实现,我们所熟知的SLF4j、Log4j、Log4j2、Logback的日志组件slf4j是门面提供的统一的入口,具体实现由log4j、log4j2、logback来实现log4j由于太老作者自己也不打算重构了所以放弃log4j2是apach的一个项目很好,但支持上面略有欠缺所以放弃logback是之前log4j的作者自己开源的一个新的l...

2019-09-15 16:16:56

使用javax的validation和hibernate-validator框架对pojo类的属性进行校验以及扩展

背景:如果页面表单有很多字段需要提交,因此使用注解校验的方式针对pojo的属性进行校验 因此使用javax标准以及org.hibernate的validator的注解校验具体的javax的validation的注解以及hibernate的注解都是可以使用的,具体的扩展可以在网上找找,目前在这里就不再进行扩展了。一开始项目使用spring-module 0.9的jar,发现这个鬼东西不支持spr...

2019-09-15 16:05:54

封装一个并发调用的类,业务层只需要调用一个简单的类就可以并发调用,实现业务隔离

背景:目前比如大型电商淘宝,京东的商品详情页和店铺详情页都有大量的信息,目前如果一个主接口串行的调用,则会出现性能不足的情况,因此可以考虑使用多线程的调用,看看具体的业务是否是cpu密集型 还是 io密集型,一般都是io密集型,因此使用多线成问题不大。做好一个业务一个线程池,分开维护,如果多个业务使用同一个线程池,容易导致线程之间的冲突。具体的实现如下:package concurren...

2019-09-15 14:43:49

系统迁移涉及到的方案

背景:目前在做公司系统迁移的任务,需要将一个系统的能力拆分到一个新的系统,涉及到DB的的一些数据步骤:(1)首先涉及架构方案,比如针对数据的处理,存量数据和增量的数据。存量数据同步的方式:存量的数据可以通过离线表清洗出id,然后通过接口调用的方式进行数据迁移。增量数据同步的方式:1、使用消息的方式:增量数据就需要数据进行双写,比如商家修改一条数据,则先在原有系统A操作,然...

2019-09-15 11:42:48

实现拦截器,使用代理设计模式

public interface Invocation { void invoke();}public class ApiInvocation implements Invocation{ private Iterator<Intercaptor> iterator; /** * @param ...

2019-08-31 23:32:49

如何针对一个页面有多个模块进行可扩展的设计

使用抽象工厂设计,兼容不同客户端有不同的模块针对不同的模块进行抽象针对多个服务的调用,可以并发的调用缩短整个页面的响应时间package homepage;import org.springframework.util.CollectionUtils;import java.util.HashMap;import java.util.List;import java.ut...

2019-06-23 15:36:00

找到一个类所有的子类

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 ...

2019-06-03 20:04:13

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。