随笔分类 - Java
大叔也学学java,跟跟风...
摘要:回到目录 我的那些年(13)~主推微服务架构 整个系统走向微服务架构 网关 服务注册与发现 配置中心 熔断器 链路跟踪 授权与鉴权 服务间的通讯-同步feign 服务间的通讯-异步消息 日志收集 个系统走向微服务架构 公司系统比较多,耦合度比较大,将这些模块进行拆分,各个负责自己的模块,减少相互之间
阅读全文
摘要:在使用feign进行远程方法调用时,如果远程服务端方法出现异常,客户端有时需要捕获,并且把异常信息返回给前端,而如果在开启 之后,这个异常会被消化,所以说,如果希望拿到服务端异常, 需要设置为false,而当不开熔断时,我们也有几种方法把拿到服务端的异常信息,下面总结一下。 1. try...cat
阅读全文
摘要:在微服务架构里,服务与服务之间的调用一般用feign就可以实现,它是一种可视化的rpc,并且集成了ribbon的负载均衡能力,所以很受欢迎。 授权服务 在授权服务里,用户通过用户名密码,或者手机和验证码等方式登陆之后,在http头里会有 的标识,在客户端调用时,需要添加当时有效的token才可以正常
阅读全文
摘要:Ribbon简介 参考:https://blog.csdn.net/chengqiuming/article/details/80711168 Ribbon是Netflix发布的负载均衡器,它有助于控制HTTP和TCP的客户端的行为。为Ribbon配置服务提供者地址后,Ribbon就可基于某种负载均
阅读全文
摘要:熔断器hystrix 在分布式系统中,每个服务都可能会调用很多其他服务,被调用的那些服务就是依赖服务,有的时候某些依赖服务出现故障也是很正常的。 Hystrix 可以让我们在分布式系统中对服务间的调用进行控制,加入一些调用延迟或者依赖故障的容错机制。 Hystrix 通过将依赖服务进行资源隔离,进而
阅读全文
摘要:自动生成框架的意义 主要为了解决人为添加mapper,模型等工作,减少错误,提交效率! 添加引用build.gradle 添加配置文件 sources/mybaits目录 config.properties generatorConfig.xml文件内容 在build.gradle添加脚本 def
阅读全文
摘要:概念 TOTP算法(Time based One time Password algorithm)是一种从共享密钥和当前时间计算一次性密码的算法。 它已被采纳为Internet工程任务组标准RFC 6238,是Initiative for Open Authentication(OATH)的基石,并
阅读全文
摘要:两个数组 bucket数组:存储key的hash桶,桶指的是把hashcode分配到一定的范围内 entry数组:用来存储实现的值,它是一个单向链表,bucket总是存储链表的最后一个元素 实现方式 通过哈希桶来实现的k/v存储,通过key的hash码,再进行桶计算,生成一个在某个范围内的值,这就是
阅读全文
摘要:前序遍历 若二叉树非空,则执行以下操作: 1. 访问根结点; 2. 先序遍历左子树; 3. 先序遍历右子树 中序遍历 若二叉树非空,则执行以下操作: 1. 中序遍历左子树; 2. 访问根结点; 3. 中序遍历右子树。 后序遍历 若二叉树非空,则执行以下操作: 1. 后序遍历左子树; 2. 后序遍历右
阅读全文
摘要:gradle添加引用 添加bean对象 添加测试的队列 总结:通过上面的几行代码,我们可以对rabbitmq队列在测试环境中去模拟,方便了我们的测试,而这种方法比 这个包要方便的多,当然这个包也支持其它的qpid协议的队列。
阅读全文
摘要:什么时候要重写equals 当对象需要根据值去比较它们是否相等时,需要我们重写equals,而它的hashCode也同时需要被重要,一般来说就是对类里所有成员变更求hashCode。 没有重写equals时 一个类型Demo,有两个实例demo1和demo2,当没有直接比较它们时,它们是不相等的,因
阅读全文
摘要:异步执行一般用来发送一些消息数据,数据一致性不要求太高的场景,对于spring来说,它把这个异步进行了封装,使用一个注解就可以实现。 用法 1. 程序启动时开启 注解 2. 建立新的类型,建立 ,为方法添加 注解 3. 在业务代码中, 注入你的类型,使用它即可 我们可以关注到在配置task的时候,是
阅读全文
摘要:springbatch 主要实现批量数据的处理,我对batch进行的封装,提出了jobBase类型,具体job需要实现它即可。Spring Batch 不仅提供了统一的读写接口、丰富的任务处理方式、灵活的事务管理及并发处理,同时还支持日志、监控、任务重启与跳过等特性,大大简化了批处理应用开发,将开发
阅读全文
摘要:DI越来越重要 DI就是依赖注入,现在来说,大部分框架都是以DI为基础组件的,每一个框架都有自己的DI组件,像dotnet core,java spring等,也都为自己的框架量身打造了DI工具。 面向对象的几个原则 依赖倒置原则(DIP):一种软件架构设计的原则(抽象概念)。 控制反转(IoC):
阅读全文
摘要:回到占占推荐博客索引 Spring Cloud官方组件: Config:外部化配置组件,支持配置中心。 Bus:消息总线组件,用于动态刷新配置。 Sleuth:分布式请求链路跟踪组件。 Zipkin:分布式跟踪系统。 Spring Cloud Netflix组件(停止更新和维护其开源项目): Eur
阅读全文
摘要:在我的用户密码授权文章里介绍了spring security的工作过程,不了解的同学,可以先看看 "用户密码授权" 这篇文章,在 用户密码授权模式里,主要是通过一个登陆页进行授权,然后把授权对象写到session里,它主要用在mvc框架里,而对于webapi来说,一般不会采用这种方式,对于webap
阅读全文
摘要:spring ioc的使用 IOC容器在很多框架里都在使用,而在spring里它被应用的最大广泛,在框架层面 上,很多功能都使用了ioc技术,下面我们看一下ioc的使用方法。 1. 把服务注册到ioc容器 2. 使用属性注入反射对应类型的实例 3. 多态情况下,使用名称反射类型的实例 把服务注册到i
阅读全文
摘要:api返回值的标准化 例如 封装返回对象 对象被封装在base.util.ResponseUtils类型下,返回值是标准的ResponseEntity对象,返回体 进行了二次封装,主要有 ,`messsage data`组成,返回方法有ok和okMessage,如果 真是返回消息,不需要对象,可以选
阅读全文
摘要:函数式接口 就是在java8里允许你为一个接口(只有一个实现的,声明为FunctionalInterface注解的)实现一个匿名的对象,大叔感觉它与.net平台的委托很类似,一个方法里允许你接收一个方法签名,这个方法在一个声明为FunctionalInterface的接口里,并且它是接口里唯一的方法
阅读全文
摘要:redis数据结构和使用场景 1. strings 2. lists 3. sets 4. sort sets 5. hashes strings token session validateCode 分布锁 lists 最近联系人 sets 优惠卷 激活码 用户标签 sort sets 排行榜 h
阅读全文