2020-02-16 14:20 星期日
由于疫情的原因,02月10日起开启了线上学习Java之旅。第一周的学习已经结束,现做如下技术总结。
本周的技术点主要有:Docker、Nginx、SpringBoot、Thymeleaf以及Dubbo。

一、 Docker
是一个应用容器引擎,主要思想是集装箱。它可以将所有需要运行的环境、软件,全部打包放在集装箱里,谁需要用那些环境和软件,可以直接拿这个集装箱就可以。
Docker的作用:
1.解决环境不一致的问题
2.降低运维成本
3.更加快速的安装软件
4.快速部署
二、Nginx
是一个高性能的HTTP和反向代理的Web服务器。是一个中间件,它可以承受较大的并发量,可以将客户端全部的请求合理的分发到tomcat服务器的集群。
1.负载均衡
(1)轮询:Nginx的默认机制,每个请求由Nginx逐个分发给不同的服务器
(2)权重:可以给不同性能的服务器设置合理的权重,性能高的则会处理更多的请求,合理的请求分配可以保证服务器性能不被浪费。
(3)ip_hash:根据客户端发送请求的ip地址来计算哈希值,并最终决定将请求分发给哪台tomcat服务器,同一ip始终只会交给一台tomcat服务器来处理。
2.动静分离
将静态资源和动态资源分开处理,静态资源交给Nginx本身处理,动态资源交给tomcat服务器处理。可以减轻tomcat服务器的压力,提高性能。
3.解决跨域问题
在Nginx配置动态资源的模块添加响应头
add_header access-control-allow-origin ‘*’;
三、SpringBoot
封装了大量的配置文件,实现Java敏捷式开发。
SpringBoot启动类的核心注解:@SpringBootApplication。此注解是一个组合注解,其中主要的三个注解为:
@SpringBootConfiguration -> 配置类.
@EnableAutoConfiguration -> 自动装配.
@ComponentScan -> 扫描注解.
四、Thymeleaf
因为SpringBoot工程默认不支持JSP,所以需要学习Thymeleaf模板引擎,使用与JSP类似。有三种表达式:
1.
(1)${} :变量表达式
(2)@{}:路径表达式
(3)~{}:片段表达式
2.Thymeleaf的使用
(1)在resources文件夹下新建tmeplates文件夹,将所有的html页面放到此文件夹下。
(2)导入Thymeleaf依赖
(3)在html页面添加xmlns:th=“http://www.themeleaf.org”
五、Dubbo
是一款高性能Java RPC框架,可以解决分布式架构中服务与服务之间相互通讯的问题。
1.RPC原理
stub数据序列化+Netty框架
2.Dubbo架构
技术总结-01

相关文章:

  • 2021-09-05
  • 2021-11-09
  • 2021-11-26
  • 2021-07-23
  • 2021-07-16
  • 2021-12-19
  • 2021-04-04
猜你喜欢
  • 2021-06-08
  • 2021-11-18
  • 2021-04-09
  • 2021-04-02
  • 2021-06-28
相关资源
相似解决方案