博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
传统项目架构图
阅读量:3947 次
发布时间:2019-05-24

本文共 853 字,大约阅读时间需要 2 分钟。

  公司在项目技术选型的时候,如果使用的是传统的技术栈,则下面的项目架构能耐简单表示一下架构模式,如果使用的是现在比较热门的SpringCloud微服务架构,则下面的部分技术可以使用SpringCloud自身的组件来进行替换。

项目架构图

在这里插入图片描述

  上图是一个简单的项目架构图,只是简单的提到一些常用的技术栈,当然也不够完善,比如Nginx可能还会用到集群技术。但是大体上能够体现出一个项目从开发到上线可能会用到的一些基本的知识。

1.  CDN服务器能够提高响应速度和用户体验。

2.  Lvs可以做服务器负载均衡
3.  Nginx可以做反向代理服务器
4.  Tomcat服务器集群部署
5.  项目中可能还会用到一些分布式文件系统,例如FastDFS,Tomcat服务器会到分布式文件系统上获取一些数据
6.  Tomcat服务器需要获取服务,会到注册中心Zookeeper上去获取服务,而服务的提供者会向Zookeeper注册上自己提供的服务。
7.  服务提供者可能会用到一些通信技术(ActiveMQ、RabbitMQ、Kafka等)最终去与数据库进行数据交互(最常见的就是下订单、支付业务等)
8.  因为数据库MySql会有瓶颈问题、所以一般会使用Redis这种性能极高的Nosql数据库做一些数据缓存、流量削峰的工作(例如秒杀业务我们一般会将Mysql的热点数据同步到Redis中,秒杀的时候就去操作Redis中的这些数据,然后再将Redis中的数据同步更新到Mysql中,这样避免直接操作数据库从而引发瓶颈问题)。
9.  最后是数据库,现在数据库随着存储的数据量逐步增加,我们会使用Mycat进行分库分表,但是分库分表虽然能够降低数据库的存储压力,但是在查询数据的时候也变得麻烦起来。

  项目架构需要使用哪些技术栈,其实还是要结合自己的项目业务情况来看,某些项目的数据量以数亿计,这样的话项目架构肯定还是需要进行更新迭代,例如增加ElasticSearch搜索引擎来解决查询响应的问题。

转载地址:http://inhwi.baihongyu.com/

你可能感兴趣的文章
如何增加电量显示格数,并提示剩余电量?
查看>>
Key Launcher上底下的shortcut如何修改默认值以及如果修改Key Launcher上widget的默认显示顺序
查看>>
Java支持播放哪些multi media格式
查看>>
Audio播放完毕后设置时间无法正确获取
查看>>
打开了一个size不为零的文件,读取到的值却为零的一种分析和解决方法
查看>>
Aplix VM安装Java应用在main menu上不能显示自己的图标,而是显示一朵小花的解决方法
查看>>
Aplix VM安装第一个Java应用在main menu上看不到图标的解决方法
查看>>
java 在cosmos下修改设置,提示“setting are not modifiable”的解释
查看>>
JAD中常见字段的介绍。
查看>>
对于SIM menu update by OTA的解释
查看>>
如何去掉OTA provisioning的PIN码验证
查看>>
如何实现首次开机自动power on 蓝牙?
查看>>
Makefile文件中蓝牙相关的宏介绍
查看>>
如何屏蔽掉乱码的push消息
查看>>
登录一些安全网站,比如twitter/facebook,提示安全链接失败,或提示下载文件。
查看>>
如何去除launcher 上默认的 google search bar.
查看>>
Android如何绘制View
查看>>
23种设计模式的索引
查看>>
Can't make emergency call without SIM card
查看>>
不插SIM卡,不能拨打紧急电话
查看>>