阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

项目总结

276次阅读
没有评论

共计 1535 个字符,预计需要花费 4 分钟才能阅读完成。

现在,我们已经成功地完成了一个 7 ×24 运行的证券交易系统。虽然实现了基本功能,但仍有很多可改进的地方。

网关

直接给用户暴露 API 和 UI 是不合适的,通常我们会选择一个反向代理充当网关。可以使用 Spring Cloud Gateway 来实现网关。Spring Cloud Gateway 是基于 Netty 的异步服务器,允许我们编写一系列过滤器来实现黑名单、权限检查、限流等功能。

也可以选择更通用的 Nginx 作为网关,相应的功能则需要由 Lua 脚本实现,具体可参考 OpenResty。

远程调用

在系统内部,我们直接通过 HTTP 请求实现了远程调用,因为暴露的接口较少。如果接口比较多,可以考虑使用 RPC 调用,例如 Spring Cloud OpenFeign。Spring Cloud OpenFeign 把 REST 请求封装为 Java 接口方法,实现了一种声明式的 RPC 调用。也可以考虑更加通用的 gRPC。

系统监控

要监控系统状态、性能等实时信息,我们需要构造一个监控系统。从零开始是不现实的,选择一个通用的标准协议比使用 JMX 要更简单。StatsD 就是目前最流行的监控方案,它的基本原理是:

┌ ─ ─ ─ ─ ─ ─ ─ ┐
  ┌───────────┐
│ │Application│ │
  └───────────┘
│       │       │
     UDP│
│       ▼       │
  ┌───────────┐       ┌───────────┐
│ │  StatsD   │─┼────▶│  Server   │
  └───────────┘       └───────────┘
└ ─ ─ ─ ─ ─ ─ ─ ┘

应用程序本身负责收集监控数据,然后以 UDP 协议发给 StatsD 守护进程,StatsD 进程通常和应用程序运行在同一台机器上,它非常轻量级,并且 StatsD 是否运行都不影响应用程序的正常运行(因为 UDP 协议只管发不管能不能收到)。如果 StatsD 进程在运行中,它就把监控数据实时发送给聚合服务器如 Graphite,再以可视化的形式展示出来。

StatsD 是一个解决方案,既可以自己用开源组件搭建,又可以选择第三方商业服务商,例如 DataDog。应用程序自身的数据采集则需要根据使用的服务商确定。如果使用 DataDog,它会提供一个 dd-java-agent.jar,在启动应用程序时,以 agent 的方式注入到 JVM 中:

$ java -javaagent:dd-java-agent.jar -jar app.jar

再通过引入 DataDog 提供的 API:

<dependency>
    <groupId>com.datadoghq</groupId>
    <artifactId>dd-trace-api</artifactId>
    <version>{version}</version>
</dependency>

就可以实现数据采集。DataDog 提供的 agent 除了能采集应用程序的数据,还可以直接监控 JVM、Linux 系统,能大大简化监控配置。

对于分布式调用,例如 UI 调用 API,API 调用 Engine,还可以集成 Spring Cloud Sleuth 来监控链路。它通过在入口调用每次生成一个唯一 ID 来跟踪链路,采集数据可直接与 StatsD 集成。

密钥管理

对于很多涉及密钥的配置来说,如数据库密码,系统 AES 密码,管理员口令等,直接存放在配置文件或数据库中都是不安全的。使用专业的密钥管理软件如 Vault 可以更安全地管理密钥。Spring Cloud Vault 就是用于从 Vault 读取密钥,适合对安全性要求特别高的项目。

小结

至此,我们已经从 Java 入门开始,学习了 Java 基础、JavaEE 开发,重点介绍了 Spring、Spring Boot 和 Spring Cloud,并通过一个实战项目,完成了分布式应用程序的开发。相信学到这里的你,已经成为了一个优秀的系统架构师!

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-08-05发表,共计1535字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7818959
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...
星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛 NAS-8:有了 NAS 你可以干什么?软件汇总篇 前言 哈喽各位玩友!我是是星哥,不少朋友私...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
使用1Panel面板搭建属于你的AI项目环境

使用1Panel面板搭建属于你的AI项目环境

使用 1Panel 面板搭建属于你的 AI 项目环境 在 AI 项目越来越火的今天,很多朋友都想自己动手搭建一...
星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛 NAS-11:咪咕视频订阅部署全攻略 前言 在家庭影音系统里,NAS 不仅是存储中心,更是内容...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍

浏览器自动化工具!开源 AI 浏览器助手让你效率翻倍 前言 在 AI 自动化快速发展的当下,浏览器早已不再只是...
星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛NAS硬件03:五盘位+N5105+双网口的成品NAS值得入手吗

星哥带你玩飞牛 NAS 硬件 03:五盘位 +N5105+ 双网口的成品 NAS 值得入手吗 前言 大家好,我...
国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号AI知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率

国产开源公众号 AI 知识库 Agent:突破未认证号限制,一键搞定自动回复,重构运营效率 大家好,我是星哥,...
仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

仅2MB大小!开源硬件监控工具:Win11 无缝适配,CPU、GPU、网速全维度掌控

还在忍受动辄数百兆的“全家桶”监控软件?后台偷占资源、界面杂乱冗余,想查个 CPU 温度都要层层点选? 今天给...
你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你

你的云服务器到底有多强?宝塔跑分告诉你 为什么要用宝塔跑分? 宝塔跑分其实就是对 CPU、内存、磁盘、IO 做...