- 安装filebeat,选择tar包安装方式,下载并解压
1 | wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.7.0-linux-x86_64.tar.gz |
- 修改配置文件
1 | mv filebeat.yml filebeat.yml.bak |
配置文件内容
1 | logging.level: info |
- 启动脚本
1 | wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.7.0-linux-x86_64.tar.gz |
1 | mv filebeat.yml filebeat.yml.bak |
配置文件内容
1 | logging.level: info |
在java.util包中提供了Observable类和Observer接口,使用它们即可完成观察者模式。
多个观察者都在关注着价格的变化,只要价格一有变化,则所有的观察者会立即有所行动。
1 | import java.util.Observable; |
代理模式是一种设计模式,提供了对目标对象额外的访问方式,即通过代理对象访问目标对象,这样可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。
1.静态代理: 在编译时就已经实现,编译完成后代理类是一个实际的class文件
静态代理的方式:创建一个接口,然后创建被代理的类实现该接口并且实现该接口中的抽象方法。之后再创建一个代理类,同时使其也实现这个接口。在代理类中持有一个被代理对象的引用,而后在代理类方法中调用该对象的方法。
参考:什么是动态代理?
2.动态代理: 在运行时动态生成的,即编译完成后没有实际的class文件,而是在运行时动态生成类字节码,并加载到JVM中
动态代理的方式:JDK动态代理 和 CGLIB动态代理
在springboot 2.x中默认使用的CGLIB动态代理,如果要强制使用JDK代理的话,需要添加配置
1 | spring.aop.proxy-target-class=false |
参考:springboot2.x默认使用的代理是cglib代理
清华镜像站
1 | https://mirrors.tuna.tsinghua.edu.cn/ubuntu/pool/main/h/haproxy/ |
下载haproxy
1 | https://mirrors.tuna.tsinghua.edu.cn/ubuntu/pool/main/h/haproxy/haproxy_1.6.3-1ubuntu0.3_amd64.deb |
安装haproxy
1 | sudo dpkg -i ./haproxy_1.6.3-1ubuntu0.3_amd64.deb |
编辑配置文件
1 | vim /etc/haproxy/haproxy.cfg |
其默认配置如下
1 | global |
参考:Yarn 监控 - 监控任务运行状态 (包括Spark,MR 所有在Yarn中运行的任务)
1 | //获取任务的applicationId |
输出
1 | applicationId { id: 279 cluster_timestamp: 1620359479641 } |
参考:
1 | http://wuchong.me/blog/2016/04/26/flink-internals-how-to-handle-backpressure/ |
在使用mybatis-generator自动生成mapper代码的时候,对于基本的增删改查方法可以通过继承通用mapper的方式进行简化,参考:MyBatis 通用 Mapper 5. 高级用法
mapper接口,参考:Mapper 接口大全
1.依赖
1 | <!-- mybatis --> |
2.由于需要使用增删改查的方法,所以通用的MyMapper类为
1 | import tk.mybatis.mapper.common.Mapper; |
3.对于具体mapper,只主要继承MyMapper即可,如
1 | public interface UserMapper extends MyMapper<User> { |
对于UserMapper接口,需要添加 @Mapper 注解,或者使用 @MapperScan(basePackages = “com.example.demo.mapper”) 的方式,为其生成动态代理类
代理模式是一种设计模式,提供了对目标对象额外的访问方式,即通过代理对象访问目标对象,这样可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。
动态代理,参考:什么是动态代理?
Spring Security是提供了认证,鉴权以及其他的安全特性的java框架,下面是Spring Security的使用教程
1.引入依赖
1 | <dependency> |
引入依赖用会发现请求所有的接口都会跳转到 /login,要求你进行账号密码的认证
其默认的用户是user,密码会在日志中打印出来,Using generated security password: xxxxxxxx
账号密码正确后,接口就可以正常请求,且一般情况下同一个电脑同一个浏览器下的session是共享的,比如同个浏览器下多个窗口的session id是相同的
如果想自定义认证的方式的话,可以通过继承 WebSecurityConfigurerAdapter 的方式,重写configure(HttpSecurity http) 方法
查看容器的网络模式
1 | docker ps -a |
docker总共有4种网络模式,从上到下隔离度下降:
1.Close容器,即none模式,运行在Close容器中的进程只能访问本地回环接口,隔离度最高
2.Bridge容器,即bridge模式,当容器中的进程需要访问外部网络的时候应该使用,且bridge是docker的default网络模式。
bridge容器拥有2个接口,一个是私有的本地回环接口,另一个是私有接口通过网桥连接到主机的其他容器。
3.Joined容器,
4.Open容器,即host模式,该模式在启动docker的时候加上 –net=host 参数,比如
1 | docker run --network=host xxxx:v1.0.0dev |
该模式容器会占用宿主机的对应端口,且可以访问宿主机的host