项目介绍 mall-swarm是一套微服务商城系统,采用了 Spring Cloud Greenwich.Spring Boot 2.MyBatis.Docker.Elasticsearch等核心技术,同时提供了基于Vue的管理后台方便快速搭建系统.mall-swarm在电商业务的基础集成了注册中心.配置中心.监控中心.网关等系统功能. 系统架构图 组织结构 mall├── mall-common -- 工具类及通用代码模块├── mall-mbg -- MyBatisGenerator生成的数…
在传统的IT行业软件大多都是各种独立系统的堆砌,这些系统的问题总结来说就是扩展性差,可靠性不高,维护成本高.到后面引入了SOA服务化,但是,由于 SOA 早期均使用了总线模式,这种总线模式是与某种技术栈强绑定的,比如:J2EE.这导致很多企业的遗留系统很难对接,切换时间太长,成本太高,新系统稳定性的收敛也需要一些时间.最终 SOA 看起来很美,但却成为了企业级奢侈品,中小公司都望而生畏. 仿百度能力开放平台的spring cloud 微服务框架 ,历经1年生产考验 1.用户权限 基于spring…
SpringCloud微服务学习笔记 项目地址: https://github.com/taoweidong/Micro-service-learning 单体架构(Monolithic架构) Monolithic比较适合小项目 单体架构优点: 开发简单直接,集中式管理, 基本不会重复开发功能都在本地,没有分布式的管理开销和调用开销. 单体架构缺点: 开发效率低:所有的开发在一个项目改代码,递交代码相互等待,代码冲突不断 代码维护难:代码功能耦合在一起,新人不知道何从下手 部署不灵活:构建时间长…
一.前言 接上一篇 .NET Core微服务 权限系统+工作流(一)权限系统 ,再来一发 工作流,我在接触这块开发的时候一直好奇它的实现方式,翻看各种工作流引擎代码,探究其实现方式,个人总结出来一个核心要点: 实际上工作流引擎处理流转的核心要义是如何解析流转XML或者JSON或者其它持久化方式,工作流通过解析XML或者JSON判断当前节点的状态和下个节点的信息并做出一些处理.感觉等于没说?直白一点,就是通过解析JSON文件得到下一步是谁处理. 工作流的流转线路实际上是固定死的,排列组合即可知道所…
一. 前言 最近有些童鞋对开源微服务商城项目 youlai-mall 如何部署到线上环境以及项目中 的Dockerfile 文件有疑问,所以写了这篇文章做个答疑以及演示完整的微服务项目发布到线上的流程,当然除此之外也为后续的项目更新计划做一些基础工作. 其实之前是写了 关于 IDEA 整合Docker插件和 docker-maven-plugin 依赖构建镜像实现一键部署 SpringBoot 应用. Docker实战 | 第三篇:IDEA集成 Docker 插件实现一键自动打包部署微服务项目…
Devops 开发运维高级篇之Jenkins+Docker+SpringCloud微服务持续集成(上) Jenkins+Docker+SpringCloud持续集成流程说明 大致流程说明: 1) 开发人员每天把代码提交到Gitlab代码仓库 2) Jenkins从Gitlab中拉取项目源码,编译并打成jar包,然后构建成Docker镜像,将镜像上传到Harbor私有仓库. 3) Jenkins发送SSH远程命令,让生产部署服务器到Harbor私有仓库拉取镜像到本地,然后创建容器. 4) 最后,用…
在整个微服务体系中,除了注册中心具有非常重要的意义之外,还有一个注册中心.注册中心作为管理在整个项目群的配置文件及动态参数的重要载体服务.Spring Cloud体系的子项目中,Spring Cloud Config子项目就是该注册中心.在整个分布式框架系统中,充当重要角色. 官方解释 Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed sys…
对于任何一个高可用高负载的系统来说,负载均衡是一个必不可少的名称.在大型分布式计算体系中,某个服务在单例的情况下,很难应对各种突发情况.因此,负载均衡是为了让系统在性能出现瓶颈或者其中一些出现状态下可以进行分发业务量的解决方案.在SpringCloud 体系当中,加入了Netflix公司的很多优秀产品,其中一个就是针对于服务端进行负载均衡的Ribbon. 本系列博文目录 [微服务]之三:轻松搞定SpringCloud微服务目录 本系列为连载文章,阅读本文之前强烈建议您先阅读前面几篇. 相关简介…
上一篇文章讲到了负载均衡在Spring Cloud体系中的体现,其实Spring Cloud是提供了多种客户端调用的组件,各个微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端.我们可以使用JDK原生的URLConnection.Apache的Http Client.Netty的异步HTTP Client, Spring的RestTemplate.但是,用起来最方便.最优雅的还是要属Feign了.今天这一篇文章是系列教程中第五篇,也是对负载均衡的第二篇,主…
通过前面几篇文章的介绍,我们可以轻松搭建起来微服务体系中比较重要的几个基础构建服务.那么,在本篇博文中,我们重点讲解一下,如何将所有微服务的API同意对外暴露,这个就设计API网关的概念. 本系列教程 [微服务]轻松搞定SpringCloud微服务目录 本系列为连载文章,阅读本文之前强烈建议您先阅读前面几篇. 网关名称解释 网关(Gateway)又称网间连接器.协议转换器.网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连.网关既可以用于广域网互连,也可以用于…