从0到1实战微服务架构之打造在线营销平台(一)

目录

一、前言

二、在线营销平台涉及的微服务

2.1营销中心

2.2商品中心

2.3库存中心

2.4订购中心

2.5用户中心

三、技术栈

3.1 微服务框架

3.2 中间件的使用

3.3 持续集成

3.4 系统部署

3.5 系统监控

四、总结


一、前言

随着人们生活水平的提高,消费者对于商品和服务的需求也在不断升级,并且当前数字化转型已经成为企业发展的重要趋势,移动互联网的发展使得人们可以随时随地进行购物,这些都为企业打造在线营销平台提供了广阔的发展空间。

接下来的系列文章将介绍本人参与过的在线营销平台,从技术的角度讲解从0到1实战过程,介绍营销平台的微服务群、部署架构、监控系统。

本文主要从业务背景、项目所使用的技术栈作一个整体的介绍。

二、在线营销平台涉及的微服务

在线营销平台主要涉及的微服务有:营销中心、商品中心、库存中心、订购中心、用户中心等,本章节简略介绍各个微服务的作用,让各位读者了解业务背景。

2.1营销中心

营销中心主要用于管理营销活动、营销活动的营销资源、订单的履约等;提供各类营销工具:如商品组合销售、满减、满赠、秒杀、优惠券等,是在线营销平台的核心。

2.2商品中心

商品中心是商品数据的管理中心,负责管理SKU、商品的属性,商品价格等。

2.3库存中心

库存中心负责管理商品的库存数据,包括入库、出库等操作,通过库存中心的管理,可以实时掌握到商品的库存情况,并且也可以提供销售分析。

2.4订购中心

订购中心负责接收、处理和跟踪订单,确保订单的准确性和及时性。并且将需要定时履约等数据订单及时反馈给营销中心。

2.5用户中心

用户中心用户存储和管理用户的个人信息,单点登录等作用。

三、技术栈

3.1 微服务框架

项目采用SpringCloud进行开发

(1)使用alibaba的Nacos作为注册中心;nacos是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台,支持基于DNS和基于RPC的服务发现。

(2)使用Sentinel进行限流保护;Sentinel是一个分布式系统的流量防卫兵,以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。

(3)使用Feign进行组件间的调用;Feign是一个便捷和灵活的工具,可以帮助开发人员更轻松地编写HTTP客户端并处理与远程服务的交互。

(4)使用gateway作为网关;gateway可以管理和转发请求到不同的微服务,支持基于URL、HTTP方法、请求头等的路由规则。提供多种过滤器,如认证授权、限流熔断、日志监控等。

(5)使用skywalking实现链路追踪;SkyWalking是一个功能强大的分布式系统应用程序性能监视工具,可以帮助开发人员和运维人员更好地了解和管理应用程序的运行状况。

3.2 中间件的使用

(1)采用Redis作为缓存中间件,存储库存数据、秒杀数据,redis采用集群的模式进行部署;

(2)采用Rocket MQ、Kafka作为消息中间件,Rocket MQ存储订单数据、Kafka用于存储传输日志数据等;

(3)采用Filebeat进行日志采集,并推送到Kafka上;

(4)采用Logstash进行消费Kafka上的日志数据,并将日志推送给ES;

(5)ES用户存储日志数据;

(6)Kibana用于日志数据的展示。

3.3 持续集成

使用Jenkins进行持续集成部署,帮助开发人员自动构建、测试和部署软件,降低开发过程中可能出现的问题和风险。和Git、Docker集成,实现了从源代码管理到构建、测试、部署的全流程自动化,可以快速发现问题并进行修复,提高软件开发的效率和质量。

3.4 系统部署

系统采用K8S进行部署,K8S是开源的容器编排系统,用于自动化容器化应用程序的部署、扩展和管理。K8s提供了一种容器化的应用程序运行环境,使得开发人员可以轻松地构建、测试和部署应用,无需担心底层基础设施的复杂性。

3.5 系统监控

监控系统采用Prometheus和Grafana以及在gateway上的一些接口调用次数、业务系统监控等组成。Prometheus和Grafana是一套开源的监控和报警系统,Prometheus单机每秒可以采集千万各指标数据,Grafana是一个开源的度量分析和可视化套件,能够从Prometheus等数据源抓取数据,并进行深入的分析和可视化。总的来说,Prometheus和Grafana是一套功能强大的监控和可视化解决方案,可以帮助开发人员更好地了解和管理应用程序的运行情况。

四、总结

本文简略介绍了在线营销平台的业务背景、主要的微服务以及项目中用到的技术栈,在后续系列文章中,将从技术架构、微服务的具体实现、中间件的使用、持续集成、部署、监控以及数据库的优化等方面进行介绍。

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

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

相关文章

【REST2SQL】03 GO读取JSON文件

REST2SQL需要一些配置信息,用JSON文件保存,比如config.json 1 创建config.json配置文件 {"hostPort":"localhost:5217","connString":"oracle://blma:5217127.0.0.1:1521/CQYH","_oracle":"ora…

linux 清空nat,linux 命令iptables -t nat

iptables -t nat -vnL 用详细方式列出 nat 表所有链的所有规则,只显示 IP 地址和端口号 iptables -L 粗略列出 filter 表所有链及所有规则 iptables -t nat -vxnL PREROUTING 用详细方式列出 nat 表 PREROUTING 链的所有规则以及详细数字,不反解 ipt…

ubuntu 执行apt-get update报错

系统是Ubuntu22.04 执行apt-get update 遇到如下情况 E: 无法下载 https://mirrors.tuna.tsinghua.edu.cn/ubuntu/dists/jammy/main/binary-arm64/Packages 404 Not Found [IP: 101.6.15.130 443] E: 无法下载 https://mirrors.tuna.tsinghua.edu.cn/ubuntu/dists/jammy-upda…

Kali/Debian Linux 安装Docker Engine

0x01 卸载旧版本 在安装Docker Engine之前,需要卸载已经安装的可能有冲突的软件包。一些维护者在他们的仓库提供的Docker包可能是非Docker官方发行版,须先卸载这些软件包,然后才能安装Docker官方正式发行的Docker Engine版本。 要卸载的软件…

RocketMQ5.0新组件Proxy

前言 RocketMQ 4.x 版本之前,一套完整的 MQ 服务包含的组件有:Namesrv、Broker、Consumer、Producer。 RocketMQ 5.0 版本之后,官方引入了一个新的组件:Proxy,它的作用是什么呢? 架构对比 RocketMQ 4.x …

Day22 二叉树part08 235.二叉搜索树的最近公共祖先 701.二叉搜索树中的插入操作 450.删除二叉搜索树中的节点

二叉树part08 235.二叉搜索树的最近公共祖先 701.二叉搜索树中的插入操作 450.删除二叉搜索树中的节点 235. 二叉搜索树的最近公共祖先 方法一:递归法(利用二叉搜索树性质) class Solution { public:TreeNode* lowestCommonAncestor(TreeN…

OpenCV-14图片的四则运算和图片的融合

一、图片的四则运算 1. 加法运算 通过使用API add来执行图像的加法运算 cv2.add(src1, src2)需要再其中传入两张图片。 图片就是矩阵,图片的加法运算就是矩阵的加法运算。 因此加法运算中要求两张图的shape必须是相同的。 首…

基于SpringBoot的旅游网站

目录 前言 开发环境以及工具 项目功能介绍 用户端: 管理端: 详细设计 用户端首页 登录页面 管理端页面 源码获取 前言 本项目是一个基于IDEA和Java语言开发基于SpringBoot的旅游网站。应用包含管理端和用户端等多个功能模块。 改革开放以来&am…

用HTML的原生语法实现两个div子元素在同一行中排列

代码如下&#xff1a; <div id"level1" style"display: flex;"><div id"level2-1" style"display: inline-block; padding: 10px; border: 1px solid #ccc; margin: 5px;">这是第一个元素。</div><div id"…

漏洞复现-任我行CRM系统SmsDataList接口SQL注入漏洞(附漏洞检测脚本)

免责声明 文章中涉及的漏洞均已修复&#xff0c;敏感信息均已做打码处理&#xff0c;文章仅做经验分享用途&#xff0c;切勿当真&#xff0c;未授权的攻击属于非法行为&#xff01;文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…

APPnium 自动化实践 :第一步adb 连接手机

1. 下载安装 adb ,添加到环境变量。 ADB Download - Get the latest version of ADB and fastboot 2. 手机开启开发者模式 https://developer.huawei.com/consumer/cn/doc/quickApp-Guides/quickapp-open-developer-option-0000001137005543 3. adb 连接设备 【And…

关于深入实施“东数西算”工程加快构建全国一体化算力网的实施意见研读

国家发展改革委在2023.12.25号发布了关于深入实施“东数西算”工程加快构建全国一体化算力网的实施意见&#xff0c; 开头指出了意见的核心目标&#xff1a; “算力是数字经济时代的新型生产力。算力网是支撑数字经济高质量发展的关键基础设施&#xff0c;可通过网络连接多源…

Mybaits-plus快速入门

Mybaits-plus快速入门 mybaits-plus约定 • 默认以类名驼峰转下划线作为表名 • 默认把名为 id 的字段作为主键 • 默认把变量名驼峰转下划线作为表的字段名 第一步导入pom依赖 <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis…

国家开放大学形成性考核 统一考试 学习资料参考

试卷代号&#xff1a;11107 传感器与测试技术 参考试题 一、单项选择题&#xff08;12小题&#xff0c;每小题3分&#xff0c;共36分&#xff09; 1.以下不属于压电式传感器的特点的是&#xff08; &#xff09;。 A.体积小 B.结构简单…

hash基础知识(算法村第五关青铜挑战)

一、Hash的概念和基本特征 哈希(Hash)也称为散列&#xff0c;就是把任意长度的输入&#xff0c;通过散列算法&#xff0c;变换成固定长度的输出&#xff0c;这个输出值就是散列值。 二、碰撞处理方法(2种) 在上面的例子中&#xff0c;我们发现有些在Hsh中很多位置可能要存两个甚…

Stable Diffusion模型概述

Stable Diffusion 1. Stable Diffusion能做什么&#xff1f;2. 扩散模型2.1 正向扩散2.2 反向扩散 3. 训练如何进行3.1 反向扩散3.2 Stable Diffusion模型3.3 潜在扩散模型3.4 变分自动编码器3.5 图像分辨率3.6 图像放大 4. 为什么潜在空间是可能的&#xff1f;4.1 在潜在空间中…

Nest 框架:解锁企业级 Web 应用开发的秘密武器(下)

&#x1f90d; 前端开发工程师&#xff08;主业&#xff09;、技术博主&#xff08;副业&#xff09;、已过CET6 &#x1f368; 阿珊和她的猫_CSDN个人主页 &#x1f560; 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 &#x1f35a; 蓝桥云课签约作者、已在蓝桥云…

序言:《未来已来》

尊敬的读者&#xff0c; 你是否曾经在面对冗长的报告、繁琐的工作、沉重的生活压力时感到困扰&#xff0c;渴望找到一种方式来提升效率&#xff0c;释放压力&#xff1f;你是否曾经在自我创业的道路上&#xff0c;苦于找不到有效的市场营销方式&#xff0c;寻求突破&#xff1f…

【论文精读】A Survey on Large Language Model based Autonomous Agents

A Survey on Large Language Model based Autonomous Agents 前言Abstract1 Introduction2 LLM-based Autonomous Agent Construction2.1 Agent Architecture Design2.1.1 Profiling Module2.1.2 Memory ModuleMemory StructuresMemory FormatsMemory Operations 2.1.3 Plannin…

论文阅读:通过时空生成卷积网络合成动态模式(重点论文)

原文链接 github code 介绍视频 视频序列包含丰富的动态模式&#xff0c;例如在时域中表现出平稳性的动态纹理模式&#xff0c;以及在空间或时域中表现出非平稳的动作模式。 我们证明了时空生成卷积网络可用于建模和合成动态模式。 该模型定义了视频序列上的概率分布&#xff0…