6月 142019
 

正在学习:

  • spring cloud主要组件系统的过一遍,之后会开始源码分析
  • zookeeper
  • Java多线程、并发相关,系统的过一遍,会进行源码分析,会写一些文章记录下
  • Kafka使用
  • 每日刷1-3题leetcode,数据结构与算法回炉重学中,感觉收获很大

主要想读读源代码,并将源代码阅读所学的东西记录下来,目前想做这些: Continue reading »

12月 032015
 

这里写下一些我觉得比较经典的书籍,纯属个人建议,事先声明:其中有不少书我没看过,或是看的不细,但大概知道书里讲啥东西,也会在下面列出。

更新记录

本文是2014年甚至是更早的时候写的,肯定有些陈旧,不过还是有些价值的,现在简单更新、置顶一下,后续会进行更新。

  • 2017.2.28 初始版本
  • 2017.10.29 更新读书记录。

目前正在看或是打算看的书:

  • 《智能时代》 吴军博士 刚买,还没来得及翻
  • 《高可用架构》 10月才出的书,书明天到货,然后可以拜读了,看作者,一堆熟悉的业界大佬,质量应该有保证 🙂
  • 《图解HTTP》 看着比较轻松,补齐一些基础知识
  • 《深入分析Java Web技术内幕》 许令波著。阿里技术书系列。在看,可以用来补全一些有关java web的知识。JVM、编码、session与cookie、spring框架分析等,内容比较全,正看,暂时不做评价。

2017年已读完的书籍: Continue reading »

1月 112021
 

如何部署activemq以及部署时遇到的相关问题

部署

以centos为例,下载jar包,tar -zxvf xxx解压后,进入activemq解压文件夹,执行./bin/activemq console即可在shell前端启动,想后台运行的话执行./bin/activemq start即可。

官方文档在这里,很简单:http://activemq.apache.org/getting-started

遇到的问题

1、activemq启动失败,报错

Continue reading »

12月 292020
 

spring cloud gateway(后续简称SCG)本身就是spring cloud体系的一员,在对于java技术栈的系统使用起来比较方便,此外,SCG扩展性比较好,适合作为业务网关的基础、根据自身需求进行二次开发。

关键组成部分

  • 谓词 predicate: 将请求匹配到对应的route上

  • 路由 route: 网关的基本构建块。它由ID,目标URI,谓词集合和过滤器集合定义

  • 过滤器 filter: 由特定工厂构造生成

Continue reading »

12月 022020
 

mysql安装有多种方式:

具体详细参考官网 (https://dev.mysql.com/doc/refman/5.7/en/installing.html

  • mysql的安装方法有多种,如二进制安装、源码编译安装、yum安装;

  • yum安装都是默认路径,不利于后期维护,安装相对简单;

  • 源码安装编译的过程比较长,若没有对源码进行修改且要求使用mysql较高版本;

Continue reading »

11月 202020
 

事情是这样子的:

我想自定义一个缓存注解,用来缓存方法返回值,并且支持自定义缓存超时时间,注解定义是这样:


@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@Inherited
public @interface MyCache {

    @AliasFor("value")
    int expireTime() default 60;

    @AliasFor("expireTime")
    int value() default 60;
}

Continue reading »

10月 222020
 

Raft基础

在raft中,服务器节点共有3种状态(或者说角色):

  • leader

    • 负责client交互和log复制,同一时刻系统中最多存在1个。

  • follower

    • 节点的初始状态就是follower,follower只能被动响应请求RPC,从不主动发起请求RPC。

    • 如果follower在一定时间范围(后面会讲,这个叫election timeout)内没有收到leader的请求,则follower可以转变成candidate(If followers don’t hear from a leader then they can become a candidate.)

  • candidate

    • 一个临时的状态,只存在于选举leader阶段。一个节点想要变成leader,那么就发起投票请求,同时自己变成candidate。如果选举成功,则变为candidate,否则退回为follower。其他节点根据当前状态回复是否,如果已经投票给其他candidate,则不会再投票给这个candidate(一个节点只有一票)。

    • 获得多数选票的candidate(n/2+1)将会变成leader。

Continue reading »

9月 222020
 

说明

本文所分析代码版本为spring boot/cloud 2.2.6。

预备知识

一些注解的说明

eureka中用到几个比较有意思的注解,简化程序实现。

@ConfigurationProperties(“eureka.instance”)

表示从外部配置文件中(properties或是yml文件)读取”eureka.instance”对应的配置。

@ConditionalOnBean/@ConditionalOnClass

Continue reading »