一、Java架构师基础理论介绍与学习准备

36 阅读3分钟

1. 架构师成长路径&后端架构演进

什么是架构?什么是架构师?

image.png image.png image.png

image.png

image.png

image.png

image.png

为什么那么多开发者都向往开发师岗位

image.png

image.png

系统开发该什么时候才考虑架构设计

image.png

image.png

image.png

image.png

image.png

要成为真正的架构师需要具备哪些硬骇能力

image.png

image.png

image.png

image.png

不同企业内架构师岗位有什么区别

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

在进行架构设计时需要考虑哪些因素

image.png

image.png

image.png

image.png

从后端的服务架构演进史中能学到什么?

image.png

image.png

image.png

什么是单体架构?如何设计合理的单体架构?

image.png

image.png

image.png

什么是SOA架构?这种架构有什么优缺点?

image.png

image.png

image.png

微服务架构的优缺点是什么?无服务架构真不需要服务器吗?

image.png

image.png

image.png

三高一海 - 社交电商架构实战案例点介绍

image.png

image.png

三高一海 - 基础中台架构实战案例点介绍

image.png

三高一海 - 数据架构实战案例点介绍

image.png

三高一海 - 服务稳定性与工程提效架构案例点介绍

image.png

2. Nginx实战应用讲解

从单体架构到分布式架构演进

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

nginx常⽤命令

启动

./nginx

停止

nginx -s stop

热更新

nginx -s reload

Nginx配置⽂件相关参数含义

代码块

/usr/local/nginx

├── client_body_temp # POST ⼤⽂件暂存⽬录

├── conf # Nginx所有配置⽂件的⽬录

│ ├── fastcgi.conf # fastcgi相关参数的配置⽂件

│ ├── fastcgi.conf.default # fastcgi.conf的原始备份⽂件

│ ├── fastcgi_params # fastcgi的参数⽂件

│ ├── fastcgi_params.default

│ ├── koi-utf

│ ├── koi-win

│ ├── mime.types # 媒体类型

│ ├── mime.types.default

│ ├── nginx.conf #这是Nginx默认的主配置⽂件,⽇常使⽤和修改的⽂

件

│ ├── nginx.conf.default

│ ├── scgi_params # scgi相关参数⽂件

│ ├── scgi_params.default

│ ├── uwsgi_params # uwsgi相关参数⽂件

│ ├── uwsgi_params.default

│ └── win-utf

├── fastcgi_temp # fastcgi临时数据⽬录

├── html # Nginx默认站点⽬录

│ ├── 50x.html # 错误⻚⾯优雅替代显⽰⽂件,例如出现502错误时

会调⽤此⻚⾯

│ └── index.html # 默认的⾸⻚⽂件

├── logs # Nginx⽇志⽬录

│ ├── access.log # 访问⽇志⽂件

│ ├── error.log # 错误⽇志⽂件

│ └── nginx.pid # pid⽂件,Nginx进程启动后,会把所有进程的ID

号写到此⽂件

├── proxy_temp # 临时⽬录

├── sbin # Nginx 可执⾏⽂件⽬录

│ └── nginx # Nginx ⼆进制可执⾏程序

├── scgi_temp # 临时⽬录

└── uwsgi_temp # 临时⽬录
#核⼼模块 CoreModule

## ⼯作进程数,这⾥⼀般和cpu的核⼼数相同

worker_processes 1;

## ⽇志

error_log logs/error.log;

#事件模块 EventModule

events {

## 使⽤io模型为epollo 默认就是epoll

use epoll

##⼯作连接数,⼀般⼀台8core 16gb的机器配置的是10000左右,其他硬件配置的机器建议压⼒

测试调优

worker_connections 1024;

}

#http模块 HttpModule ⽹关⼯作相关的配置

http {

#⽂件关联程序 引⼊媒体访问类型,应⽤程序和⽂件类型的⼀个关联

include mime.types;

#默认以字节流来处理数据请求

default_type application/octet-stream;

#nginx⾃带的⽇志格式的定义⽅法

log_format main '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29#正常访问⽇志

access_log logs/access.log main;

#优化nginx访问的⼀项参数

sendfile on;

#⻓链接超时时限

keepalive_timeout 65;

#虚拟主机配置

server {

listen 81;

server_name localhost;

location / {

root html;

index index.html index.htm;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

}

}