从系统架构考虑java学习路线

 

互联网系统数据全流程:

CDN

用户在浏览网站的时候,CDN会选择一个离用户最近的CDN边缘节点来响应用户的请求

1CDN节点解决了跨运营商和跨地域访问的问题,访问延时大大降低

2)大部分请求在CDN边缘节点完成,CDN起到了分流作用,减轻了源站的负载

通常将前端静态代码放置在CDN服务器,利用CDN缓存减轻后台服务器负担,消除不同运营商带来的访问速度的差异,从而达到加快用户访问速度的目的

 

 

 

负载均衡

F5

广域流量负载均衡、高速缓存Cookie加密、选择性内容加密、应用攻击过滤、拒绝服务(DoS)攻击等功能。价格比较昂贵。

Nginx

开源软件,采用的反向代理技术能够把来自internet上的连接请求以反向代理的方式动态地转发给内部网络上的多台服务器进行处理,从而达到负载均衡的目的

 

 

后台服务器架构

 

由此可以看出软件工程师主要工作:CDN服务器、负载均衡、开发后台应用服务(逻辑、数据库、数据分析等)

 

 

 

 

目前的应用由于扩展性、成本和敏捷等需要大部分采用微服务架构

微服务示意图

微服务架构需要解决主要问题

注意:此处负载均衡为客户端负载均衡,以下微服务框架下均可以找到上述问题的解决方案

 

 

目前流行的微服务框架:

Vert.x(多语言支持性较差)

异步的微服务tool-kit,事件驱动并且非阻塞的

Dubbo单一长连接和NIO异步通讯

提供高性能和透明化的 RPC 远程服务调用方案(适合于小数据量大并发的服务调用以及 SOA 服务治理方案

Spring CloudHTTP

为微服务体系开发中的架构问题,提供了一整套的解决方案——服务注册与发现,服务消费,服务保护与熔断,网关,分布式调用追踪,分布式配置管理

Istio

Isito的多样化功能使我们能够成功、高效地运行分布式微服务体系结构,并提供统一的方式来保护、连接和监控微服务。

 

Istio属于新兴的微服务概念,主要是实现了sidecar用来方便创建和管理各个微服务

Istio的服务网格示意图

 

中间件:

nginx负载均衡

向代理客户端向代理发送一个请求并指定目标,然后代理向原始服务器转交请求并将获得的内容返回给客户端

反向代理是供很多客户端都通过它间接访问不同后端服务器上的资源,而不需要知道这些后端服务器的存在,而以为所有资源都来自于这个反向代理服务器

Kafka消息队列

数据持久化在硬盘中,顺序写入硬盘,并且具有灵活的消息过期机制。具有灵活的伸缩性。

速度快:百万每秒

关系型数据库

MysqloracleSybase

非关系型数据库

redismongoDBHbase

NewSQL(未来的分布式关系型数据库)

数据库分库分表中间件

sharding-jdbc 、mycat

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值