云计算考核 - 分析电子银行需求采用微服务架构对系统进行设计

二、使用的技术以及分析

===================

微服务(Microservices)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。

微服务的优点在于:每个微服务都很小,这样能聚焦一个指定的业务功能或业务需求。微服务能够被小团队单独开发,这个小团队是2到5人的开发人员组成。微服务是松耦合的,是有功能意义的服务,无论是在开发阶段或部署阶段都是独立的。微服务能使用不同的语言开发。微服务易于被一个开发人员理解,修改和维护,这样小团队能够更关注自己的工作成果。无需通过合作才能体现价值。

实现本电子银行系统会使用到的技术栈:

  • 服务注册发现: eureka

  • 服务开发:Springboot、Spring、SpringMVC

  • 配置管理:spring config , spring security

  • 服务调用 REST

  • API网关: Spring Cloud Gateway

  • 分布式锁: redis

  • 安全认证: JWT

  • 服务监控: spring-boot-admin

1. sping cloud

Spring Cloud是一个基于Spring Boot实现的云原生应用开发工具,它为基于JVM的云原生应用开发中涉及的配置管理、服务发现、熔断器、智能路由、微代理、控制总线、分布式会话和集群状态管理等操作提供了一种简单的开发方式。

考虑 Spring Cloud 的原因有如下几点:

(1)Spring Cloud 来源于 Spring,质量、稳定性、持续性都可以得到保证。

(2)Spirng Cloud 天然支持 Spring Boot,更加便于业务落地。

(3)Spring Cloud 是 Java 领域最适合做微服务的框架。

(4)相比于其它框架,Spring Cloud 对微服务周边环境的支持力度最大。

(5)对于中小企业来讲,使用门槛较低。

(6)Spring Cloud 是微服务架构的最佳落地方案。

2. 服务注册发现

Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,一实现SpringCloud的服务发现功能。

3. REST

REST提供了一组架构约束,当作为一个整体来应用时,强调组件交互的可伸缩性、接口的通用性、组件的独立部署、以及用来减少交互延迟、增强安全性、封装遗留系统的中间组件。

几年的由于移动互联网流行使得前端设备多样化,业界急需一种统一的机制来规范API设计,使得API适用于各种各样的前端设备,REST符合这种需求。并且行为和资源分离,更容易理解。

4. Redis

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它的优势在于:

(1)性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。

(2)丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。

(3)原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作合并后的原子性执行。(事务)

(4)丰富的特性 – Redis还支持 publish/subscribe特性。

5. Spring boot admin

Spring Boot 有一个非常好用的监控和管理的源软件,这个软件就是 Spring Boot Admin。该软件能够将 Actuator 中的信息进行界面化的展示,也可以监控所有 Spring Boot 应用的健康状况,提供实时警报功能。

主要的功能点有:显示应用程序的监控状态;应用程序上下线监控;查看 JVM,线程信息;可视化的查看日志以及下载日志文件;动态切换日志级别;Http 请求信息跟踪

6. Spring cloud gateway

Spring Cloud Gateway 是 Spring Cloud Finchley 版推出来的新组件,用来代替服务网关:Zuul。Spring Cloud Gateway构建于 Spring 5+,基于 Spring Boot 2.x 响应式的、非阻塞式的 API。同时,它支持 websockets,和 Spring 框架紧密集成,开发体验相对来说十分不错。Spring Cloud Gateway 的目标,不仅提供统一的路由方式,并且基于 Filter 链的方式提供了网关基本的功能,例如:安全,监控/指标,和限流。SpringCloud Gateway 特征介绍如下:

(1)基于 Spring Framework 5,Project Reactor 和 Spring Boot 2.0

(2)集成 Hystrix 断路器

为了做好运维面试路上的助攻手,特整理了上百道 【运维技术栈面试题集锦】 ,让你面试不慌心不跳,高薪offer怀里抱!

这次整理的面试题,小到shell、MySQL,大到K8s等云原生技术栈,不仅适合运维新人入行面试需要,还适用于想提升进阶跳槽加薪的运维朋友。

本份面试集锦涵盖了

  • 174 道运维工程师面试题
  • 128道k8s面试题
  • 108道shell脚本面试题
  • 200道Linux面试题
  • 51道docker面试题
  • 35道Jenkis面试题
  • 78道MongoDB面试题
  • 17道ansible面试题
  • 60道dubbo面试题
  • 53道kafka面试
  • 18道mysql面试题
  • 40道nginx面试题
  • 77道redis面试题
  • 28道zookeeper

总计 1000+ 道面试题, 内容 又全含金量又高

  • 174道运维工程师面试题

1、什么是运维?

2、在工作中,运维人员经常需要跟运营人员打交道,请问运营人员是做什么工作的?

3、现在给你三百台服务器,你怎么对他们进行管理?

4、简述raid0 raid1raid5二种工作模式的工作原理及特点

5、LVS、Nginx、HAproxy有什么区别?工作中你怎么选择?

6、Squid、Varinsh和Nginx有什么区别,工作中你怎么选择?

7、Tomcat和Resin有什么区别,工作中你怎么选择?

8、什么是中间件?什么是jdk?

9、讲述一下Tomcat8005、8009、8080三个端口的含义?

10、什么叫CDN?

11、什么叫网站灰度发布?

12、简述DNS进行域名解析的过程?

13、RabbitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?
加入社区》https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0
bitMQ是什么东西?

14、讲一下Keepalived的工作原理?

15、讲述一下LVS三种模式的工作过程?

16、mysql的innodb如何定位锁问题,mysql如何减少主从复制延迟?

17、如何重置mysql root密码?
加入社区》https://bbs.csdn.net/forums/4304bb5a486d4c3ab8389e65ecb71ac0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/89692.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/89692.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ionic 安装使用教程

一、Ionic 简介 Ionic 是一个基于 Web 技术(HTML、CSS、JavaScript)的跨平台移动应用开发框架,结合 Angular、React 或 Vue 可快速构建 iOS 和 Android 应用。Ionic 提供丰富的 UI 组件、命令行工具及原生插件封装,广泛用于混合应…

渗透测试 - 简介

Web渗透测试简介 Web渗透测试(Penetration Testing)是一种模拟黑客攻击的安全评估方法,旨在发现Web应用程序中的漏洞,帮助开发者修复问题并提升系统安全性。它涉及主动测试目标系统(如网站或API)的弱点&am…

云原生AI研发体系建设路径

当AI遇上云原生,就像咖啡遇上牛奶,总能擦出不一样的火花 ☕️ 📋 文章目录 引言:为什么要建设云原生AI研发体系整体架构设计:搭建AI研发的"乐高积木"技术栈选择:选择合适的"武器装备"…

【网络安全】深入理解 IoC 与 IoA:从“事后识别”到“事前防御”

1. 简介 在网络安全领域,IoC(Indicators of Compromise,入侵指标) 和 IoA(Indicators of Attack,攻击指标) 是两个核心概念。它们是安全分析师识别攻击行为、调查事件、制定防御策略的重要依据…

贪心专题练习

牛牛学括号题目要求每次操作必须删除一个左括号和一个右括号,且删除后序列仍需合法。合法的括号序列要求每个右括号之前必须有对应的左括号。分析输入的都是合法的括号,即左括号右括号,可利用这一点去解题注意:中间取模是必要的&a…

屏幕分辨率修改工具 SwitchResX(Mac电脑)

苹果电脑屏幕分辨率修改工具,SwitchResX for Mac,可以为您提供控制显示器分辨率所需的工具和功能。 原文地址:屏幕分辨率修改工具 SwitchResX(Mac电脑)

【Java编程动手学】Java中的数组与集合

文章目录 一、Java数组基础1.1 数组结构概述1.2 一维数组1.2.1 声明与初始化1.2.2 访问与修改元素1.2.3 数组遍历 1.3 二维数组1.3.1 声明与初始化1.3.2 访问与遍历 1.4 三维数组及更高维数组1.5 数组类(Arrays)1.5.1 常用方法 1.6 复制数组1.6.1 系统复制方法1.6.2 手动复制 二…

Linux在线安装docker

1.切换阿里云镜像源 备份原有 repo 文件 sudo mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 下载阿里云的 CentOS 7 repo 文件 sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 清华 sudo…

第十五节:第四部分:特殊文件:XML的生成、约束(了解即可)

如何使用程序把数据写出到XML文件中去 什么是约束XML的书写(了解即可) DTD约束文档的使用(了解即可) schema约束文档的使用(了解即可) 代码:如何使用程序把数据写出到XML文件中去 package com.itheima.day2_xml;import java.io.BufferedWriter; import java.io.Fil…

cd-agent更换cd模型(自用)

需求:将12服务器上,原有的cd-agent(目录为/home/xgq/agent),复制一份,重命名为/home/xgq/agent_lx。之前的推理流程是A B两张图输进去,通过clip模型进行领域分类,若是遥感领域就用ch…

微信小程序31~40

1.事件绑定和事件对象 小程序中绑定事件没有on 方式&#xff0c;也没有click,小程序中可以用bind方法&#xff0c;click事件也需要用tap事件来进行代替。 绑定事件分为两种&#xff1a; bind:事件名&#xff0c;eg: <view bind:tap"fnName"><view/>bind事…

二叉树题解——二叉树的直径【LeetCode】

543. 二叉树的直径 一、算法逻辑&#xff08;逐步通顺讲解每一步思路&#xff09; &#x1f3af; 问题目标&#xff1a; 求二叉树中任意两个节点之间的最长路径&#xff08;以边数计算&#xff09;。 ✅ 1️⃣ 初始化变量 ans 用于记录目前遍历过程中的最大直径&#xff08;…

Android开发 Android10及10+读取外部存储问题

前提 &#xff1a; 在做文件遍历时&#xff0c;有的文件在Android10无法访问&#xff0c;在注册清单下添加android:requestLegacyExternalStorage"true"后可正常访问&#xff0c;但一直不知道具体原因。 使用XXPermissions时读到Android10分区存储后才明白这里的逻辑…

IP地理定位技术综述:理论、方法与应用创新(三)

[1]刘学婷,台文鑫,周帆,等.IP地理定位技术综述:理论、方法与应用创新[J].通信学报,2025,46(04):33-48. 2 IP地理定位应用场景 基于 IP 地理定位技术的特性和多样化应用场景,本文将其主要应用分为地理定位服务、网络安全与优化、网络空间测绘3类,如图7所示。基于IP地理定位…

16-C#生成DLL与调用

C#生成DLL与调用 1.2.3.4.5.将DLL文件复制到DEBUG下6.7.8.private void button79_Click(object sender, EventArgs e) {ClassLibrary1.Class1 testnew ClassLibrary1.Class1();UInt16 aConvert.ToUInt16(textBox67.Text);UInt16 b Convert.ToUInt16(textBox68.Text);label90.T…

JSON解析工具哪家强?

一、研究背景与目的 在现代Java应用开发中&#xff0c;JSON数据格式的解析性能直接影响系统响应速度与吞吐量。当处理高并发请求或大规模数据转换时&#xff0c;解析工具的选择尤为关键。本文通过JMH&#xff08;Java Microbenchmark Harness&#xff09;基准测试框架&#xf…

Go语言动态数据访问实战

Go语言反射实战&#xff1a;动态访问商品数据中的复杂字段 前言 在电商或仓储管理系统中&#xff0c;商品信息结构复杂且经常变化。比如商品有基本属性&#xff08;ID、名称、类型&#xff09;&#xff0c;还有动态扩展属性&#xff08;规格、促销信息、库存详情等&#xff0…

[特殊字符] Excel 按月筛选 + 工作表复制 + 样式批量处理 —— Python 自动化大汇总

本教程展示如何使用 Python 的 openpyxl 实现&#xff1a; 多工作表遍历&#xff1a;自动查找每月物料表&#xff1b; 条件筛选&#xff1a;获取 G 列数量大于 1000 的记录&#xff1b; 生成汇总表&#xff1a;从模板复制页面并写入筛选结果&#xff1b; 统一样式&#xff1…

Text2SQL主流实现方案

目录 基于 Prompt Engineering 的方案 基于模型微调的方案 T5 模型结构 MIGA 基于RAG 的方案 参考 基于 Prompt Engineering 的方案 这类方案比较简单粗暴,就是通过精心设计的提示来引导 LLM 生成 SQL,一般包含下面这些做法: 1. 零样本提示:直接向 LLM 提供数据库…

有哪些开源的SSO框架?

SSO&#xff08;Single Sign-On&#xff09;是一种身份验证机制&#xff0c;允许用户通过一次登录访问多个相互信任的系统或应用&#xff0c;无需重复输入凭证。核心目标是提升用户体验和安全性&#xff0c;减少密码疲劳和管理成本。​一、常见开源SSO框架概览​开源SSO框架主要…