1 Star 0 Fork 0

李征兵 / arithmetic

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

Spring cloud架构解决四则运算

加、减、乘、除是最简单的四则运算,也是可以作为分布式计算的最简单的示例,因为涉及到这些运算的算术包括添加“()”后的复杂算术最后都可以拆解成独立的加法、减法、乘法、除法分别进行计算,再按照优先级的顺序多次运用基本四则运算完成,所以我们定义一个完整的算式是一个复杂任务,加、减、乘、除分别是四个独立的微服务,通过任务协调调用这些独立微服务就可以完成复杂任务。

先给出几个简单的定义:

  1. 表达式:即是要计算的算术式,例如a=123+233-123*(232-123/21)+234
  2. 计算器:加法、减法、乘法、除法
  3. 计算优先级:先括弧内、后括弧外;先乘除、后加减
  4. 系统要求:输入一个算术表达式,返回计算结果

Spring cloud 架构

Spring cloud架构

算术表达式运算系统架构

四则运算微服务架构

工程示例

  1. web html静态框架 这个是PC浏览器进行页面展示的工程,部署在服务端在浏览器运行,提供ajax的方式和表达式网关进行数据交换。
  2. Eureka微服务注册中心 工程名:eureka-server 功能:这个是spring cloud的微服务管理核心配置,完成后基本无需开发和升级。
  3. Config中心 工程名:config-server-eureka 功能:工程配置管理中心,能够将发布到git的配置文件进行统一的管理,方便切换不同的运行环境,完成后不再需要过多的开发和维护。
  4. Zuul网关filter/路由 工程名:arithmetic-gateway 功能:这个是四则运算业务的鉴权网关及相关业务路由微服务。
  5. 表达式解析 工程名:arithmetic-four-operations 功能:给UI端提供表达式执行结果的API,它能够接受来自上层网关路由过来的请求,并将表达式解析为若干个微服务请求,然后按照优先级顺序调用相关微服务接口,将最终的计算结果返回给路由网关,进而返回给web端。 这个工程中引入了spring-cloud-config客户端,即通过调研配置中心的服务获取部署在git上的环境变量,注意config配置文件为bootstrap.{properties|yml},该配置文件中的spring.application.name对应的必须和git上的配置文件名称一致。
  6. 加法微服务 工程名:arithmetic-add-service 功能:实际执行加法计算的微服务模块。
  7. 减法微服务 工程名:arithmetic-sub-service 功能:实际执行减法计算的微服务模块。
  8. 乘法微服务 工程名:arithmetic-mul-service 功能:实际执行乘法计算的微服务模块。
  9. 除法微服务 工程名:arithmetic-div-service 功能:实际执行除法法计算的微服务模块。

空文件

简介

四则运算演示微服务基本概念 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/crazyicelee/arithmetic.git
git@gitee.com:crazyicelee/arithmetic.git
crazyicelee
arithmetic
arithmetic
master

搜索帮助