自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 spring cloud+spring boot直播电子商务小程序

涉及平台:平台管理(包含自营店面)、商家端(PC端、手机端)、买家平台(PC端、H5/公众号、小程序、APP端(IOS/Android)、业务微服务核心架构:Spring Cloud、Spring Boot、Mybatis Plus、Redis前端框架:VUE、Bootstrap/H5/CSS3、IOS、Android、小程序核心思想:分布式、微服务、云架构、模块化、原子化、持续集成、集群部署开发模式:代码生成工具、驱动式开发模式、提高开发效率社交模式:VR全景虚拟现实线上线下、直播带货、短视频带

2020-06-23 11:15:22 139

原创 SpringCloud:Spring Cloud 之 okhttp

什么是 okhttp ?okhttp 是由 square 公司开源的一个 http 客户端。在 Java 平台上,Java 标准库提供了 HttpURLConnection 类来支持 HTTP 通讯。不过 HttpURLConnection 本身的 API 不够友好,所提供的功能也有限。大部分 Java 程序都选择使用 Apache 的开源项目 HttpClient 作为 HTTP 客户端。Apache HttpClient 库的功能强大,使用率也很高。为什么要使用 okhttp ?okhtt..

2020-06-22 14:28:56 315

原创 SpringCloud:Spring Cloud 组件 Docker 化

Docker 化配置这里我们根据 dockerfile-maven-plugin 这个 maven 插件来构建,可以用来构建 docker 镜像的 maven 插件有很多,其中使用比较多的包括 docker-maven-plugin ,这两个插件是同一个人在 Github 上开源的, docker-maven-plugin 被作者标记为不活跃的,并且建议大家使用 dockerfile-maven-plugin ,作者可能是觉得 docker-maven-plugin 在使用的方式上并不是那么的优雅,才又.

2020-06-19 09:58:39 119

原创 SpringCloud:微服务 Docker 化之基础环境

容器化Docker 的横空出世,给了容器技术带来了质的飞跃,Docker 标准化了服务的基础设施,统一了应用的打包分发,部署以及操作系统相关类库等,解决了测试生产部署时环境差异的问题。对于运维来讲,由于镜像的不可变性,更容易进行服务部署和回滚操作。利用各种第三方容器管理平台,实现一键部署、动态伸缩等操作变的轻而易举。基础镜像选择在操作系统的选择上,可选择传统的 CentOS 、 Ubuntu 或者更为轻量化的 Alpine 。比如 CentOS 或者 Ubuntu 的镜像都在 100MB 以上..

2020-06-19 09:46:02 161

原创 SpringCloud:微服务利剑之APM平台(二)Pinpoint

Pinpoint概述Pinpoint是一个由韩国人编写的为大型分布式系统服务的链路跟踪平台,并提供大量链路跟踪数据分析汇总解决方案。自2012年7月开始开发,与2015年1月做为一个开源项目推出。Pinpoint主要特性分布式事务跟踪,跟踪跨分布式应用的消息。自动检测应用拓扑,帮助你搞清楚应用的架构。水平扩展以便支持大规模服务器集群。提供代码级别的可见性以便轻松定位失败点和瓶颈。使用字节码增强技术,添加新功能而无需修改代码。Pinpoint优势无入侵:采用字节码增强技术,新增功..

2020-06-18 10:11:47 239

原创 SpringCloud:服务网关Zuul基于Apollo动态路由

同为Spring Cloud服务网关组件的Spring Cloud Zuul在生产环境中使用更为广泛,那么它有没有方便的动态路由解决方案呢?答案当然是肯定的,Zuul作为一个老牌的开源服务网关组件,动态路由对它来讲是一个十分必要的功能,毕竟我们不能随便重启服务网关,服务网关是一个微服务系统的大门,今天我们介绍的Zuul动态路由的解决方案来自于携程开源的配置中心Apollo。Apollo概述Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后

2020-06-18 10:05:02 146

原创 java版电子商务spring cloud分布式微服务b2b2c社交电商

涉及平台:平台管理(包含自营店面)、商家端(PC端、手机端)、买家平台(PC端、H5/公众号、小程序、APP端(IOS/Android)、业务微服务核心架构:Spring Cloud、Spring Boot、Mybatis Plus、Redis前端框架:VUE、Bootstrap/H5/CSS3、IOS、Android、小程序核心思想:分布式、微服务、云架构、模块化、原子化、持续集成、集群部署开发模式:代码生成工具、驱动式开发模式、提高开发效率社交模式:VR全景虚拟现实线上线下、直播带货、短视频带

2020-06-16 11:33:51 61

原创 SpringCloud:微服务利剑之APM平台(一)Skywalking

Skywalking概述Skywalking与2016年11月2日由国人吴晟在Github上传v1.0版本,用于提供分布式链路追踪功能,从5.x开始,成为一个功能较为完善的APM(Application Performance Management)系统,2019年4月17日从Apache孵化器毕业,正式成为Apache顶级项目。提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。官方对自己介绍是专为微服务,云原生和基于容器(Docker,Kubernetes,Mesos)架构而设计。..

2020-06-16 11:28:59 433

原创 SpringCloud:Spring Cloud Gateway高级应用

熔断限流重试限速路由器限速在高并发场景中比较常用的手段之一,可以有效的保障服务的整体稳定性,Spring Cloud Gateway 提供了基于 Redis 的限流方案。所以我们首先需要添加对应的依赖包spring-boot-starter-data-redis-reactive<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-

2020-06-16 11:08:33 127

原创 SpringCloud:Spring Cloud Bus 消息总线

Spring Cloud BusSpring cloud bus通过轻量消息代理连接各个分布的节点。这会用在广播状态的变化(例如配置变化)或者其他的消息指令。Spring bus的一个核心思想是通过分布式的启动器对spring boot应用进行扩展,也可以用来建立一个多个应用之间的通信频道。目前唯一实现的方式是用AMQP消息代理作为通道,同样特性的设置(有些取决于通道的设置)在更多通道的文档中。大家可以将它理解为管理和传播所有分布式项目中的消息既可,其实本质是利用了MQ的广播机制在分布式的系统中传播.

2020-06-12 11:24:01 81

原创 SpringCloud:Spring Cloud Config 配置中心高可用和refresh

引言之前我们聊了Spring Cloud Config 配置中心,并且和Github做了集成,我们的Server端是单机版的,任何单机版的服务都只能使用与测试环境或者自己做Demo测试,生产环境严禁使用单机服务,配置中心在整个微服务体系中都是及其重要的一个节点,尤其是在DevOps中自动扩容,如果配置中心宕机,那么所有的自动扩容都会失败。所以这一篇我们聊聊配置中心的高可用,说到高可用,在springcloud体系中,是有注册中心的,那么,我们的配置中心也是一个服务,可不可以使用Eureka做服务的注.

2020-06-12 11:20:20 170

原创 SpringCloud:Spring Cloud Config Github配置中心

随着分布式项目越来越大,勤劳的程序猿们会开始面临一个挑战,配置文件会越来越繁杂,虽然spring提供了一个鸡肋版的解决方案,spring.profiles.active,在大型的分布式项目体系中,聊胜于无吧,手动维护配置文件的痛苦,生产,UAT,测试,开发环境的隔离,额外的配置文件,如:logback.xml日志的配置文件,bootstrap.properties配置文件,当系统中有几十个服务,相应的会有上百个配置文件,简直就是史诗级的灾难大片,每次发布上线,都要手动去检查配置文件,相应的服务都需要重启,那

2020-06-11 10:32:09 96

原创 SpringCloud:熔断监控Hystrix Dashboard和Turbine

Hystrix-dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard我们可以在直观地看到各Hystrix Command的请求响应时间, 请求成功率等数据。但是只使用Hystrix Dashboard的话, 你只能看到单个应用内的服务信息, 这明显不够。我们需要一个工具能让我们汇总系统内多个服务的数据并显示到Hystrix Dashboard上, 这个工具就是Turbine。Hystrix Dashboard创建一个新的项目hystrix-dashbo

2020-06-11 10:27:40 98

原创 SpringCloud:熔断器Hystrix

1. 熔断器服务雪崩在正常的微服务架构体系下,一个业务很少有只需要调用一个服务就可以返回数据的情况,这种比较常见的是出现在demo中,一般都是存在调用链的,比如A->B->C->D,如果D在某一个瞬间出现问题,比如网络波动,io偏高,导致卡顿,随着时间的流逝,后续的流量继续请求,会造成D的压力上升,有可能引起宕机。你以为这就是结束么,图样图森破,这才是噩梦的开始,在同一个调用链上的ABC三个服务都会随着D的宕机而引发宕机,这还不是结束,一个服务不可能只有一个接口,当它开始卡顿宕机时,

2020-06-10 10:16:51 88

原创 SpringCloud:服务的提供与Feign调用

本篇文章中需要三个角色,分别是服务的提供者,服务的消费者,还有一个是上一篇文章的主角——注册中心Eureka(使用单机版本即可,本篇的示例也会使用单机版本的Eureka)。整体流程为:先启动注册中心Eureka启动服务的提供者将提供服务,并将服务注册到注册中心Eureka上启动服务的消费者,在注册中心中找到服务并完成消费(了解源码可+求求: 1791743380)1. 服务提供者1. pom.xml<?xml version="1.0" encoding="UTF-8"?>&lt

2020-06-10 10:12:46 250

原创 SpringCloud:注册中心Eureka

Eureka是Netflix开源的一款提供服务注册和发现的产品,它提供了完整的Service Registry和Service Discovery实现。也是springcloud体系中最重要最核心的组件之一。注册中心的意义注册中心管理各种服务功能包括服务的注册、发现、熔断、负载、降级等,比如dubbo admin后台的各种功能。有了注册中心,调用关系的变化,画几个简图来看一下。服务A调用服务B有了注册中心之后,任何一个服务都不在是直连的,都需要通过注册中心去调用。如果是一个连续调用:服务

2020-06-09 10:44:47 100

原创 SpringCloud:介绍

1. 什么是springcloud?Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署

2020-06-09 10:28:42 74

原创 Spring Cloud Gateway服务化和过滤器

1. 注册中心1.1 准备服务和注册中心上篇主要讲解了网关代理单个服务的使用语法,在实际的工作中,服务的相互调用都是依赖于服务中心提供的入口来使用,服务中心往往注册了很多服务,如果每个服务都需要单独配置的话,这将是一份很枯燥的工作。Spring Cloud Gateway 提供了一种默认转发的能力,只要将 Spring Cloud Gateway 注册到服务中心,Spring Cloud Gateway 默认就会代理服务中心的所有服务,下面用代码演示。在介绍Zuul的时候,我们用到了Eureka和pr

2020-06-08 09:28:02 133

原创 Spring Cloud Gateway初探

1.1 背景Zuul是Netflix开源的一个项目,Spring只是将Zuul集成在了Spring Cloud中。而Spring Cloud Gateway是Spring Cloud的一个子项目。还有一个版本的说法是Zuul2的连续跳票和Zuul1的性能并不是很理想,从而催生了Spring Cloud Gateway。1.2 性能比较网上很多地方都说Zuul是阻塞的,Gateway是非阻塞的,这么说是不严谨的,准确的讲Zuul1.x是阻塞的,而在2.x的版本中,Zuul也是基于Netty,也是非阻塞

2020-06-08 09:21:21 100

原创 Spring Boot: Webflux 和 MVC 性能对比

1. 前言本文将通过最简单的方式,来简单测试对比一下 Spring Boot Webflux 和 SpringMVC 在高并发场景下的性能。2. 准备首先介绍一下本人的硬件情况:CPU:因特尔的 i7-8700内存:16G DDR4 2666系统:win10压测工具选择 Apache 的 jmeter ,版本为 5.1.1 (版本稍老,笔者未下载最新版本)接下来就是两个工程了。了解源码可+求求: 1791743380SpringMVC 测试代码如下:代码清单:spring-boot-a

2020-06-05 11:45:10 804

原创 Spring Boot : 优雅的使用 API 文档工具 Swagger2

1. 引言各位在开发的过程中肯定遇到过被接口文档折磨的经历,由于 RESTful 接口的轻量化以及低耦合性,我们在修改接口后文档更新不及时,导致接口的调用方(无论是前端还是后端)经常抱怨接口与文档不一致。程序员的特点是特别不喜欢写文档,但是又同时特别不喜欢别人不写文档。所以 API 文档工具这时就应运而生了。了解源码可+求求: 17917433802. 快速上手既然 Swagger2 是一个 API 文档工具,我们就在代码中看一下这个文档工具在 Spring Boot 中是如何使用的吧。2.1 引

2020-06-05 11:36:32 108

原创 Spring Boot : 响应式编程以及 Spring Boot Webflux 快速入门

1. 什么是响应式编程在计算机中,响应式编程或反应式编程(英语:Reactive programming)是一种面向数据流和变化传播的编程范式。这意味着可以在编程语言中很方便地表达静态或动态的数据流,而相关的计算模型会自动将变化的值通过数据流进行传播。了解源码可+求求: 1791743380例如,在命令式编程环境中,a=b+c 表示将表达式的结果赋给 a,而之后改变 b 或 c 的值不会影响 a 。但在响应式编程中,a 的值会随着 b 或 c 的更新而更新。响应式编程是基于异步和事件驱动的非阻塞程序

2020-06-04 11:33:40 191

原创 Spring Boot (十三): Spring Boot 整合 RabbitMQ

1. 前言RabbitMQ 是一个消息队列,说到消息队列,大家可能多多少少有听过,它主要的功能是用来实现应用服务的异步与解耦,同时也能起到削峰填谷、消息分发的作用。消息队列在比较主要的一个作用是用来做应用服务的解耦,消息从消息的生产者传递到消息队列,消费者从消息队列中获取消息并进行消费,生产者不需要管是谁在消费消息,消费者也无需关注消息是由谁来生产的。在分布式的系统中,消息队列也会被用在其他地方,比如分布式事务的支持,代表如阿里开源的 RocketMQ 。了解源码可+求求: 17917433802.

2020-06-03 11:02:48 135

原创 Spring Boot (十二): Spring Boot 邮件服务

最早我们发邮件的时候是使用 JavaMail 来发送邮件,而在 Spring Boot 中, Spring Boot 帮我们将 JavaMail 封装好了,是可以直接拿来使用的。1. 依赖文件 pom.xml代码清单:spring-boot-mail/pom.xml<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <

2020-06-03 10:50:30 327

原创 spring cloud开发的b2b2c电子商务小程序

核心架构:Spring Cloud、Spring Boot、Mybatis、Redis、Rabbit MQ、微服务、分布式、电子商务核心思想:产品微服务、模块化、原子化、持续集成、分布式、集群部署开发模式:代码生成工具、驱动式开发模式、提高开发效率在这里插入图片描述微信扫码可以体验~...

2020-06-02 17:36:19 90 1

原创 微服务理论与实践----架构的背景及需求

一.背景业务架构是战略,应用架构是战术,技术架构是装备。在开发服务端企业应用时,需要支持各种客户段,包括PC桌面浏览器,移动浏览器及原生移动应用,应用还需要向第三方提供可访问的API,并通过WebSevice或者消息代理与其他应用进行集成。应用通过业务逻辑,访问数据库,与其他服务交换信息,并返回一条HTML/XML/JSON响应,来处理请求。应用采用多层架构或六角架构,主要由以下不同组建组成: 展现组件负责处理http请求,并响应html或者JSON/XML 业务逻辑应用的

2020-06-02 17:23:49 156

原创 Spring Boot (十一): Spring Boot 定时任务

1. 添加依赖在 pom.xml 文件中只需引入 spring-boot-starter 的依赖即可:代码清单:spring-boot-scheduler/pom.xml<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId

2020-06-01 14:36:05 106 1

原创 Spring Boot (十): Spring Boot Admin 监控 Spring Boot 应用

1. 引言在微服务的体系中,我们的服务数量是非常多的,这同样不方便我们人工管理,在这样的背景下,诞生了另一个开源软件,也是本篇文章要介绍的: Spring Boot Admin 。2. Spring Boot Admin 简介Spring Boot Admin 是一个 Web 应用,用于管理和监视 Spring Boot 应用程序的运行状态。每个 Spring Boot 应用程序都被视为客户端并注册到管理服务器。背后的数据采集是由 Spring Boot Actuator 端点提供。前端 Spring

2020-06-01 14:29:25 156

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除