- 浏览: 10680 次
- 性别:
- 来自: 广州
最新评论
文章列表
spring cloud本身提供的组件就很多,但我们需要按照企业的业务模式来定制企业所需要的通用架构,那我们现在需要考虑使用哪些技术呢?
下面我针对于spring cloud微服务分布式云架构做了以下技术总结,希望可以帮助到大家:
Vi ...
我们对当前清单中的每一个功能进行剖析,会将产品设计、UI设计、功能设计详细给大家讲解,也希望能够帮助更多的朋友了解电子商务平台功能。抛开电子商务的登陆、注册基础功能,我们直入主题。今天讲解平台管理中的通用设置功能。
为了在程序启动或者初始化的时候,对系统的配置和通用设置项进行统一加载,所以我们将通用的设置信息全部存储到数据库中,在使用的时候从数据库中读取并存储到缓存(因为配置项长期不会改变,如果改变,我们可以动态刷新缓存)。
鸿鹄云商中的通用配置包括:基础设置、客服设置、第三方登录设置、前台登录设置、平台登录设置、APP相关下载设置等。
1. 系统配置表设计
...
我不记得有多少人问过以下这个问题了:
我觉得这个问题问得很频繁,而且非常经典,在这里我就以 Kafka 为例子,说说我对 Kafka 顺序消息的一些理解吧,如有理解不对的地方麻烦留言指点一下。
通常我们在说顺序消费指的是生产者按照顺序发送,消费者按照顺序进行消费,听起来简单,但做起来却非常困难。
我们都知道无论是 Kafka 还是 RocketMQ,每个主题下面都有若干分区(RocketMQ 叫队列),如果消息被分配到不同的分区中,那么 Kafka 是不能保证消息的消费顺序的,因为每个分区都分配到一个消费者,此时无法保证消费者的消费先后,因此如果需要进行消息具有消费顺序性,可以在生产 ...
涉及平台:商家端(PC端、手机端)、平台管理(包含自营店面)、买家平台(小程序)、微服务(企业架构源码可以加求球:三五三六二四七二五九)
核心架构:Spring Cloud、Spring Boot、Mybatis Plus、Redis前端框架:VUE、小程序
1. 什么是 okhttp ?
okhttp 是由 square 公司开源的一个 http 客户端。在 Java 平台上,Java 标准库提供了 HttpURLConnection 类来支持 HTTP 通讯。不过 HttpURLConnection 本身的 API 不够友好,所提供的功能也有限。大部分 Java 程序都选择使用 Apac ...
这一节我们介绍 Spring Cloud 组件的容器化,主要包括 eureka-server 、 gateway-server 和 provider-server 。(了解源码可+WX: haiwabbc)
1. Docker 化配置
这里我们根据 dockerfile-maven-plugin 这个 maven 插件来构建,可以用来构建 docker 镜像的 maven 插件有很多,其中使用比较多的包括 docker-maven-plugin ,这两个插件是同一个人在 Github 上开源的, docker-maven-plugin 被作者标记为不活跃的,并且建议大家使用 d ...
1. 容器化
Docker 的横空出世,给了容器技术带来了质的飞跃,Docker 标准化了服务的基础设施,统一了应用的打包分发,部署以及操作系统相关类库等,解决了测试生产部署时环境差异的问题。对于运维来讲,由于镜 ...
Zuul作为一个老牌的开源服务网关组件,动态路由对它来讲是一个十分必要的功能,毕竟我们不能随便重启服务网关,服务网关是一个微服务系统的大门,今天我们介绍的Zuul动态路由的解决方案来自于携程开源的配置中心Apollo。(了解源码可+WX: haiwabbc)
Apollo概述
Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。
Apollo支持4个维度管理Key-Value格式的配置:
application (应用)
enviro ...
1. Pinpoint概述
Pinpoint是一个由韩国人编写的为大型分布式系统服务的链路跟踪平台,并提供大量链路跟踪数据分析汇总解决方案。自2012年7月开始开发,与2015年1月做为一个开源项目推出。
2. Pinpoint主要特性
分布式事务跟踪,跟踪跨分布式应用的消息。
自动检测应用拓扑,帮助你搞清楚应用的架构。
水平扩展以便支持大规模服务器集群。
提供代码级别的可见性以便轻松定位失败点和瓶颈。
使用字节码增强技术,添加新功能而无需修改代码。
3. Pinpoint优势
无入侵:采用字节码增强技术,新增功能无需修改代码。
性能高:对性能的影响非 ...
1. Skywalking概述
Skywalking与2016年11月2日由国人吴晟在Github上传v1.0版本,用于提供分布式链路追踪功能,从5.x开始,成为一个功能较为完善的APM(Application Performance Management)系统,2019年4月17日从Apache孵化器毕业,正式成为Apache顶级项目。提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。官方对自己介绍是专为微服务,云原生和基于容器(Docker,Kubernetes,Mesos)架构而设计。
2. Skywalking主要功能
服务,服务实例,端点指标分析
根本原因分 ...
熔断
限流
重试
1. 限速路由器
限速在高并发场景中比较常用的手段之一,可以有效的保障服务的整体稳定性,Spring Cloud Gateway 提供了基于 Redis 的限流方案。所以我们首先需要添加对应的依赖包spring-boot-starter-data-redis-reactive(了解源码可+求求: 1791743380)
Java代码
<dependency>
上一篇文章服务网关 Spring Cloud GateWay 初级篇,介绍了 Spring Cloud Gateway 的相关术语、技术原理,以及如何快速使用 Spring Cloud Gateway。这篇文章我们继续学习 Spring Cloud Gateway 的高级使用方式,比如如何配置服务中心来使用,如何使用熔断、限流等高级功能。(了解源码可+求求: 1791743380)
1. 注册中心
1.1 准备服务和注册中心
上篇主要讲解了网关代理单个服务的使用语法,在实际的工作中,服务的相互调用都是依赖于服务中心提供的入口来使用,服务中心往往注册了很多服务,如果每个服 ...
在分布式服务架构中,需要对分布式服务进行治理——在分布式服务协同向用户提供服务时,每个请求都被哪些服务处理?在遇到问题时,在调用哪个服务上发生了问题?在分析性能时,调用各个服务都花了多长时间?哪些调用可以并行执行?…… 为此,分布式服务平台就需要提供这样一种基础服务——可以记录每个请求的调用链;调用链上调用每个服务的时间;各个服务之间的拓扑关系…… 我们把这种行为称为“分布式服务跟踪”。(了解源码可+求求: 1791743380)
1. 背景
现今业界分布式服务跟踪的理论基础主要来自于 Google 的一篇论文《Dapper, a Large-Scale Distri ...
1. Zuul和Gateway的恩怨情仇
1.1 背景
Zuul是Netflix开源的一个项目,Spring只是将Zuul集成在了Spring Cloud中。而Spring Cloud Gateway是Spring Cloud的一个子项目。(了解源码可+求求: 1791743380)
还有一个版本的说法是Zuul2的连续跳票和Zuul1的性能并不是很理想,从而催生了Spring Cloud Gateway。
1.2 性能比较
网上很多地方都说Zuul是阻塞的,Gateway是非阻塞的,这么说是不严谨的,准确的讲Zuul1.x是阻塞的,而在2.x的版本中,Zuul ...
前面我们介绍了,Eureka用于服务的注册于发现,Feign支持服务的调用以及均衡负载,Hystrix处理服务的熔断防止故障扩散,Spring Cloud Config服务集群配置中心,似乎一个微服务框架已经完成了。(了解源码可+求求: 1791743380)
我们还是少考虑了一个问题,外部的应用如何来访问内部各种各样的微服务呢?在微服务架构中,后端服务往往不直接开放给调用端,而是通过一个API网关根据请求的url,路由到相应的服务。当添加API网关后,在第三方调用端和服务提供方之间就创建了一面墙,这面墙直接与调用方通信进行权限控制,后将请求均衡分发给后台服务端。
一个简 ...