自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 java版电子商务spring cloud分布式微服务b2b2c社交电商-SpringCloud架构设计

最近一直在针对SpringCloud框架做项目,从中踩了不少的坑,也渐渐梳理出了一些内容,由于SpringCloud作为一个全家桶,其中东西太多,所以这时候就要有所取舍,这里就想把自己比较常用组件及架构推荐上来。针对这个架构图我分层介绍一下:1、是web服务器的选型,这个我选择的是nginx+keepalived,haproxy也是一个选择,但是haproxy在反向代理处理跨域访问的时候问题很...

2019-08-06 09:32:57 273

原创 java版spring cloud+spring boot 社交电子商务平台-Hystrix依赖隔离

依赖隔离“舱壁模式”对于熟悉Docker的读者一定不陌生,Docker通过“舱壁模式”实现进程的隔离,使得容器与容器之间不会互相影响。而Hystrix则使用该模式实现线程池的隔离,它会为每一个Hystrix命令创建一个独立的线程池,这样就算某个在Hystrix命令包装下的依赖服务出现延迟过高的情况,也只是对该依赖服务的调用产生影响,而不会拖慢其他的服务。通过对依赖服务的线程池隔离实现,可以带来...

2019-08-05 10:10:23 202

原创 java版spring cloud+spring boot 社交电子商务平台-Hystrix服务降级

在微服务架构中,我们将系统拆分成了一个个的服务单元,各单元应用间通过服务注册与订阅的方式互相依赖。由于每个单元都在不同的进程中运行,依赖通过远程调用的方式执行,这样就有可能因为网络原因或是依赖服务自身问题出现调用故障或延迟,而这些问题会直接导致调用方的对外服务也出现延迟,若此时调用方的请求不断增加,最后就会出现因等待出现故障的依赖方响应而形成任务积压,线程资源无法释放,最终导致自身服务的瘫痪,进一...

2019-08-05 10:05:50 224

原创 java版b2b2c社交电商spring cloud分布式微服务—服务网关过滤器

过滤器作用我们的微服务应用提供的接口就可以通过统一的API网关入口被客户端访问到了。但是,每个客户端用户请求微服务应用提供的接口时,它们的访问权限往往都需要有一定的限制,系统并不会将所有的微服务接口都对它们开放。然而,目前的服务路由并没有限制权限这样的功能,所有请求都会被毫无保留地转发到具体的应用并返回结果,为了实现对客户端请求的安全校验和权限控制,最简单和粗暴的方法就是为每个微服务应用都实现一...

2019-08-02 10:35:30 235 2

原创 java版b2b2c社交电商分布式微服务-Spring Cloud Config 加密和解密

重要 先决条件:要使用加密和解密功能,您需要在JVM中安装全面的JCE(默认情况下不存在)。您可以从Oracle下载“Java加密扩展(JCE)无限强度管理策略文件”,并按照安装说明(实际上将JRE lib / security目录中的2个策略文件替换为您下载的文件)。如果远程属性源包含加密内容(以{cipher}开头的值),则在通过HTTP发送到客户端之前,它们将被解密。这种设置的主要优点是,...

2019-08-02 10:18:58 161

原创 java版b2b2c社交电商分布式微服务-Spring Cloud Config客户端使用

要在应用程序中使用这些功能,只需将其构建为依赖于spring-cloud-config-client的Spring引导应用程序(例如,查看配置客户端或示例应用程序的测试用例)。添加依赖关系的最方便的方法是通过Spring Boot启动器org.springframework.cloud:spring-cloud-starter-config。还有一个Maven用户的父pom和BOM(spring-...

2019-08-02 09:17:23 124

原创 java版b2b2c社交电商分布式微服务-Spring Cloud Commons 普通抽象

诸如服务发现,负载平衡和断路器之类的模式适用于所有Spring Cloud客户端可以独立于实现(例如通过Eureka或Consul发现)的消耗的共同抽象层。@EnableDiscoveryClientCommons提供@EnableDiscoveryClient注释。这通过META-INF/spring.factories查找DiscoveryClient接口的实现。Discovery Cli...

2019-08-02 09:10:03 195 1

原创 java版b2b2c社交电商spring cloud分布式微服务-Spring Cloud各个组件的配套使用

我们从整体上来看一下Spring Cloud各个组件如何来配套使用:从上图可以看出Spring Cloud各个组件相互配合,合作支持了一套完整的微服务架构。其中Eureka负责服务的注册与发现,很好将各服务连接起来Hystrix 负责监控服务之间的调用情况,连续多次失败进行熔断保护。Hystrix dashboard,Turbine 负责监控 Hystrix的熔断情况,并给予图形化的展示...

2019-07-31 08:58:45 165

原创 java springcloud版b2b2c社交电商spring cloud分布式微服务 - common-service 项目构建过程

我们将对common-service整个项目进行剖析,将整个构建的流程给记录下来,让更多的关注者来参考学习。首先在构建spring cloud的common-service之前,我们需要准备的技术:Maven(项目构建)、Spring Boot、Spring Cloud、微服务概念、去中心化思想、分布式等,针对于common-service的顶级项目,这里我们主要使用Maven来构建,闲话少说...

2019-07-31 08:56:42 235

原创 java spring cloud版b2b2c社交电商spring cloud分布式微服务- Spring Cloud简介

Spring Cloud是一系列框架的有序集合。利用Spring Boot的开发模式简化了分布式系统基础设施的开发,如服务发现、注册、配置中心、消息总线、负载均衡、断路器、数据监控等(这里只简单的列了一部分),都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud将目前比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装,屏蔽掉了复杂的...

2019-07-31 08:54:14 218

原创 java版b2b2c社交电商spring cloud分布式微服务-eureka 基础

在构建项目之前,我们先学习一下eureka,这是官方的讲解,我这边再重新帮大家回顾一下:服务发现:Eureka客户端服务发现是基于微服务架构的关键原则之一。尝试配置每个客户端或某种形式的约定可能非常困难,可以非常脆弱。Netflix服务发现服务器和客户端是Eureka。可以将服务器配置和部署为高可用性,每个服务器将注册服务的状态复制到其他服务器。如何包含Eureka客户端要在您的项目中包含...

2019-07-31 08:51:42 216

原创 java版b2b2c社交电商spring cloud分布式微服务--分布式云架构技术点

spring cloud本身提供的组件就很多,但我们需要按照企业的业务模式来定制企业所需要的通用架构,那我们现在需要考虑使用哪些技术呢?下面我针对于spring cloud微服务分布式云架构做了以下技术总结,希望可以帮助到大家:View:H5、Vue.js、Spring Tag、React、angularJsSpring Boot/Spring Cloud:Zuul、Ribbon、Fei...

2019-07-30 09:25:43 234 1

原创 java版b2b2c社交电商spring cloud分布式微服务 - 集成项目简介

Spring Cloud集成项目有很多,下面我们列举一下和Spring Cloud相关的优秀项目,我们的企业架构中用到了很多的优秀项目,说白了,也是站在巨人的肩膀上去整合的。在学习Spring Cloud之前大家必须了解一下相关项目,希望可以帮助到大家。Spring Cloud Config配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git以及Subve...

2019-07-30 09:23:53 201

原创 java版b2b2c社交电商分布式微服务-Spring Cloud Commons 普通抽象

诸如服务发现,负载平衡和断路器之类的模式适用于所有Spring Cloud客户端可以独立于实现(例如通过Eureka或Consul发现)的消耗的共同抽象层。@EnableDiscoveryClientCommons提供@EnableDiscoveryClient注释。这通过META-INF/spring.factories查找DiscoveryClient接口的实现。Discovery Cli...

2019-07-30 09:20:06 203

原创 java版b2b2c社交电商分布式微服务-Spring Cloud引导应用程序上下文

Spring Boot对于如何使用Spring构建应用程序有一个看法:例如它具有常规配置文件的常规位置,以及用于常见管理和监视任务的端点。Spring Cloud建立在此之上,并添加了一些可能系统中所有组件将使用或偶尔需要的功能。一个Spring Cloud应用程序通过创建一个“引导”上下文来进行操作,这个上下文是主应用程序的父上下文。开箱即用,负责从外部源加载配置属性,还解密本地外部配置文件中...

2019-07-30 09:17:37 131

原创 java版b2b2c社交电商spring cloud分布式微服务-Spring 4.2.2以上版本和swagger集成方案和踩过的坑

因为公司使用的spring版本太高,在集成swagger的时候会存在一些问题,而网上的很多实例大多都是版本比较低的,为了是朋友们少才坑,我这边将集成的过程记录一下:引入spring、swagger的相关jar包(springfox-swagger2、springfox-swagger-ui),在pom.xml中配置:<dependency> <...

2019-07-29 10:18:53 166

原创 (六)Java版Spring Cloud B2B2C o2o鸿鹄云商平台--部署架构

上一篇文章我们介绍了鸿鹄云商b2b2c o2o基础的部署方案,考虑到项目部署中架构拓展性、伸缩性、可用性、安全性、开放性、准确性、可维护性的特点,我们针对鸿鹄云商平台b2b2c制定整体部署架构方案,我这里不做更多的介绍,直接上图,希望能通过部署架构图让更多的读者理解。以上是我参与的Spring Cloud B2B2C O2O鸿鹄云商平台-部署架构解决方案,从现在开始,我会将每一个细节点落实到文...

2019-07-29 09:35:20 220

原创 (八)Java版Spring Cloud B2B2C o2o鸿鹄云商平台--平台管理功能清单设计

上一篇文章我们介绍了鸿鹄云商b2b2c o2o微服务层设计方案,关于使用的技术架构的技术点我这边不做重复介绍,如果有兴趣的朋友可以去看一下我之前写过的《构建spring cloud架构》系列文章,因为我一直在强调鸿鹄云商b2b2c o2o平台,所以我们重点讲解的是鸿鹄云商平台的相关技能知识,从本篇文章开始,我们将针对于鸿鹄云商b2b2c o2o每一个平台和微服务进行功能和技能剖析,让更多的读者认识...

2019-07-25 09:32:10 162

原创 java版b2b2c社交电商分布式微服务-Spring Cloud的核心特性

SOA和微服务的区别其实服务化架构已经可以解决大部分企业的需求了,那么我们为什么要研究微服务呢?先说说它们的区别;微服务架构强调业务系统需要彻底的组件化和服务化,一个组件就是一个产品,可以独立对外提供服务微服务不再强调传统SOA架构里面比较重的ESB企业服务总线微服务强调每个微服务都有自己独立的运行空间,包括数据库资源。微服务架构本身来源于互联网的思路,因此组件对外发布的服务强调了采用H...

2019-07-24 09:57:59 129

原创 java版b2b2c社交电商分布式微服务-Spring Cloud引导应用程序上下文

Spring Boot对于如何使用Spring构建应用程序有一个看法:例如它具有常规配置文件的常规位置,以及用于常见管理和监视任务的端点。Spring Cloud建立在此之上,并添加了一些可能系统中所有组件将使用或偶尔需要的功能。一个Spring Cloud应用程序通过创建一个“引导”上下文来进行操作,这个上下文是主应用程序的父上下文。开箱即用,负责从外部源加载配置属性,还解密本地外部配置文件中...

2019-07-24 09:54:09 136

原创 (五)Java版Spring Cloud B2B2C o2o鸿鹄云商平台--技术框架3

上一篇文章我们介绍了spring cloud框架几个核心组件,本篇文章考虑到项目的部署方案及服务与服务之间的组合及协作能力,我们从这两方面入手着手讲一下鸿鹄云商b2b2c平台技术框架解决方案。Docker资源的统一部署、调配和动态负载均衡管理由Master统一管理Docker中各Pod应用的部署、调配和动态负载均衡当某应用临时高负载或业务量增长需要,需要调配资源时,由Master统一...

2019-07-24 09:36:49 192 1

原创 (四)Java版Spring Cloud B2B2C o2o鸿鹄云商平台--技术框架2

上一篇文章,我们从业务规划、可拓展性对整个鸿鹄云商b2b2c o2o平台做了技术架构规划,设计核心思想为:业务模块化、服务化、原子化的解决方案,本篇文章是技术框架的升级版本,我们将讲解一下spring cloud微服务框架的优势,因为网上的资料很多,我这边只列了一下核心组件优势。微服务框架(基于开源技术的分布式、服务化框架),采用微服务架构,降低了系统之间的耦合性,降低了单个应用故障对业务系统的...

2019-07-24 09:03:17 202

原创 java版b2b2c社交电商分布式微服务Spring Cloud微服务架构

微服务架构Spring Cloud解决的第一个问题就是:服务与服务之间的解耦。很多公司在业务高速发展的时候,服务组件也会相应的不断增加。服务和服务之间有着复杂的相互调用关系,经常有服务A调用服务B,服务B调用服务C和服务D …,随着服务化组件的不断增多,服务之间的调用关系成指数级别的增长,这样最容易导致的情况就是牵一发而动全身。经常出现由于某个服务更新而没有通知到其它服务,导致上线后惨案频发。这...

2019-07-23 09:36:16 244

原创 (一)Java版Spring Cloud B2B2C o2o鸿鹄云商平台--概述

近期公司正在升级Spring Cloud版本的b2b2c o2o鸿鹄云商平台,我亲自参与了整个产品的研发及升级工作。大概统计了一下,用Java Spring Cloud技术研发电子商务平台的公司少之甚少,借此我想将整个研发的过程通过博客的方式分享出来,希望各位IT网友看到此系列文章多给本人留言,一起进步。第一篇文章我不会过多的强调技术,而是通过清单方式给大家展示一下整个b2b2c o2o全套解决...

2019-07-23 09:33:55 180

原创 (八)Java版Spring Cloud B2B2C o2o鸿鹄云商平台--平台管理功能清单设计

上一篇文章我们介绍了鸿鹄云商b2b2c o2o微服务层设计方案,关于使用的技术架构的技术点我这边不做重复介绍,如果有兴趣的朋友可以去看一下我之前写过的《构建spring cloud架构》系列文章,因为我一直在强调鸿鹄云商b2b2c o2o平台,所以我们重点讲解的是鸿鹄云商平台的相关技能知识,从本篇文章开始,我们将针对于鸿鹄云商b2b2c o2o每一个平台和微服务进行功能和技能剖析,让更多的读者认识...

2019-07-23 09:28:36 143

原创 java版b2b2c社交电商分布式微服务-Spring Cloud Config客户端使用

要在应用程序中使用这些功能,只需将其构建为依赖于spring-cloud-config-client的Spring引导应用程序(例如,查看配置客户端或示例应用程序的测试用例)。添加依赖关系的最方便的方法是通过Spring Boot启动器org.springframework.cloud:spring-cloud-starter-config。还有一个Maven用户的父pom和BOM(spring-...

2019-07-23 09:21:12 131

原创 java版b2b2c社交电商分布式微服务-Spring Cloud Netflix

该项目通过自动配置为Spring Boot应用程序提供Netflix OSS集成,并绑定到Spring环境和其他Spring编程模型成语。通过几个简单的注释,您可以快速启用和配置应用程序中的常见模式,并通过经过测试的Netflix组件构建大型分布式系统。提供的模式包括服务发现(Eureka),断路器(Hystrix),智能路由(Zuul)和客户端负载平衡(Ribbon)。服务发现:Eureka客...

2019-07-22 09:17:39 240 1

原创 java版b2b2c社交电商spring cloud分布式微服务-集成项目

Spring Cloud集成项目有很多,下面我们列举一下和Spring Cloud相关的优秀项目,我们的企业架构中用到了很多的优秀项目,说白了,也是站在巨人的肩膀上去整合的。在学习Spring Cloud之前大家必须了解一下相关项目,希望可以帮助到大家。Spring Cloud Config配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git以及Subve...

2019-07-22 09:13:01 271

原创 java版b2b2c社交电商分布式微服务-Spring Cloud Commons 普通抽象

诸如服务发现,负载平衡和断路器之类的模式适用于所有Spring Cloud客户端可以独立于实现(例如通过Eureka或Consul发现)的消耗的共同抽象层。@EnableDiscoveryClientCommons提供@EnableDiscoveryClient注释。这通过META-INF/spring.factories查找DiscoveryClient接口的实现。Discovery Cli...

2019-07-22 09:09:58 91

原创 (五)Java版Spring Cloud B2B2C o2o鸿鹄云商平台--技术框架3

上一篇文章我们介绍了spring cloud框架几个核心组件,本篇文章考虑到项目的部署方案及服务与服务之间的组合及协作能力,我们从这两方面入手着手讲一下鸿鹄云商b2b2c平台技术框架解决方案。Docker资源的统一部署、调配和动态负载均衡管理由Master统一管理Docker中各Pod应用的部署、调配和动态负载均衡当某应用临时高负载或业务量增长需要,需要调配资源时,由Master统一...

2019-07-22 09:05:28 130

原创 java版b2b2c社交电商spring cloud分布式微服务-Spring Cloud Config 快速开始

启动服务器:$ cd spring-cloud-config-server$ ../mvnw spring-boot:run该服务器是一个Spring Boot应用程序,所以您可以从IDE运行它,而不是喜欢(主类是ConfigServerApplication)。然后尝试一个客户端:$ curl localhost:8888/foo/development{"name":"develo...

2019-07-12 08:41:17 412

原创 java版b2b2c社交电商spring cloud分布式微服务-springcloud应用程序上下文层次结构

如果您从SpringApplication或SpringApplicationBuilder构建应用程序上下文,则将Bootstrap上下文添加为该上下文的父级。这是一个Spring的功能,即子上下文从其父进程继承属性源和配置文件,因此与不使用Spring Cloud Config构建相同上下文相比,“主”应用程序上下文将包含其他属性源。额外的财产来源是:“bootstrap”:如果在Boots...

2019-07-12 08:37:45 170

原创 java版spring cloud+spring boot+redis社交电子商务平台-Spring Cloud Config服务器

服务器为外部配置(名称值对或等效的YAML内容)提供了基于资源的HTTP。服务器可以使用@EnableConfigServer注释轻松嵌入到Spring Boot应用程序中。所以这个应用程序是一个配置服务器:ConfigServer.java@SpringBootApplication@EnableConfigServerpublic class ConfigServer { publ...

2019-07-12 08:35:25 152

原创 java版spring cloud+spring boot 社交电子商务平台—上下文服务

Spring Boot对于如何使用Spring构建应用程序有一个看法:例如它具有常规配置文件的常规位置,以及用于常见管理和监视任务的端点。Spring Cloud建立在此之上,并添加了一些可能系统中所有组件将使用或偶尔需要的功能。引导应用程序上下文一个Spring Cloud应用程序通过创建一个“引导”上下文来进行操作,这个上下文是主应用程序的父上下文。开箱即用,负责从外部源加载配置属性,还解...

2019-07-10 09:07:17 165

原创 java版b2b2c社交电商spring cloud分布式微服务(十三)使用Spring Security安全控制

准备工作首先,构建一个简单的Web工程,以用于后续添加安全控制,若对如何使用Spring Boot构建Web应用。Web层实现请求映射@Controllerpublic class HelloController { @RequestMapping("/") public String index() { return "index"; } ...

2019-07-10 09:02:09 146

原创 java版spring cloud+spring boot 社交电子商务平台(十二)返回JSON格式

在上述例子中,通过@ControllerAdvice统一定义不同Exception映射到不同错误处理页面。而当我们要实现RESTful API时,返回的错误是JSON格式的数据,而不是HTML页面,这时候我们也能轻松支持。本质上,只需在@ExceptionHandler之后加入@ResponseBody,就能让处理函数return的内容转换为JSON格式。下面以一个具体示例来实现返回JSON格...

2019-07-10 08:59:43 128

原创 java版b2b2c社交电商spring cloud分布式微服务(十一)Web应用的统一异常处理

我们在做Web应用的时候,请求处理过程中发生错误是非常常见的情况。Spring Boot提供了一个默认的映射:/error,当处理中抛出异常之后,会转到该请求中处理,并且该请求有一个全局的错误页面用来展示异常内容。选择一个之前实现过的Web应用为基础,启动该应用,访问一个不存在的URL,或是修改处理内容,直接抛出异常,如:@RequestMapping("/hello")public Str...

2019-07-10 08:57:03 185

原创 java版spring cloud+spring boot+redis社交电子商务平台(十)使用Swagger2构建强大的RESTful API文档(2)

添加文档内容在完成了上述配置后,其实已经可以生产文档内容,但是这样的文档主要针对请求本身,而描述主要来源于函数等命名产生,对用户并不友好,我们通常需要自己增加一些说明来丰富文档内容。如下所示,我们通过@ApiOperation注解来给API增加说明、通过@ApiImplicitParams、@ApiImplicitParam注解来给参数增加说明。@RestController@Request...

2019-07-09 08:54:32 162

原创 java版spring cloud+spring boot 社交电子商务平台(九)使用Swagger2构建强大的RESTful API文档(1)

由于Spring Boot能够快速开发、便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API。而我们构建RESTful API的目的通常都是由于多终端的原因,这些终端会共用很多底层业务逻辑,因此我们会抽象出这样一层来同时服务于多个移动端或者Web前端。这样一来,我们的RESTful API就有可能要面对多个开发人员或多个开发团队:IOS开发、Android...

2019-07-09 08:52:24 148

原创 java版b2b2c社交电商spring cloud分布式微服务(八)开发Web应用(2)

在完成配置之后,举一个简单的例子,在快速入门工程的基础上,举一个简单的示例来通过Thymeleaf渲染一个页面。@Controllerpublic class HelloController { @RequestMapping("/") public String index(ModelMap map) { // 加入一个属性,用来在模板中读取 ...

2019-07-09 08:43:23 220

空空如也

空空如也

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

TA关注的人

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