Spring Cloud

SpringCloud系列之集成分布式事务Seata应用篇

廉价感情. 提交于 2020-07-28 21:00:40
目录 前言 项目版本 项目说明 Seata服务端部署 Seata客户端集成 cloud-web module-order module-cart module-goods module-wallet 表结构说明 参考资料 系列文章 前言 单体应用被拆分成各个独立的业务模块后,就不得不要去面对分布式事务,好在阿里已经开源分布式事务组件Seata,虽还在迭代中,难免会有bug产生,但随着社区发展及反馈,相信终究会越来越稳定,话不多说让我们开始吧。 项目版本 spring-boot.version: 2.2.5.RELEASE spring-cloud.version: Hoxton.SR3 seata.version: 1.2.0 项目说明 项目模块说明如下: 前端请求接口经由网关服务进行路由转发后进入cloud-web模块,经cloud-web模块调用相应业务微服务模块,执行业务逻辑后响应前端请求。 Seata服务端部署 1.下载Seata服务端部署文件 https://github.com/seata/seata/releases/download/v1.2.0/seata-server-1.2.0.zip 如嫌下载慢,可关注本文下方微信公众号二维码,关注后回复“ 666 ”即可获取开发常用工具包 2.解压至本地目录后,执行seata-server.bat脚本

腾讯T8花15天将SpringBoot细分为32部分:58实例+2项目+源码

 ̄綄美尐妖づ 提交于 2020-07-28 20:07:25
前言 如今, Springboot的诞生,让我们再也不用被Spring的繁琐配置所束缚。 Spring Boot 是当前后端开发的极佳框架。在如今纷繁的技术中尤为突出。它整合了 Spark、 ElasticsearchRabbitMQ、Redis等,实现了数据挖掘、自动预测趋势、关联分析、聚类 、概念描述、偏差检测等。 Spring Boot的配置、使用、监控、部署都很简单,它拥有完善的生态。后期如果因为项目流量太大需要切换到微服务Spring Cloud (基于Spring Boot )也会极为顺利。可以预想,未来会有越来越多的公司采用Spring Boot,更会有越来越多的开发者关注和使用Spring Boot。 SpringBoot实战派 pdf主要内容和创新: 第1章进入Spring Boot世界 第2章准备开发环境 第3章使用开发工具 基础篇 第4章Spring Boot基础 第5章分层开发Web应用程序 以上就是《SpringBoot实战派》+《Springboot精髓》+《面试专题+答案解析》总计825页,没有缺页漏页的情况,由于篇幅限制,需要以上完整内容的朋友,添加小助理vx:kaixindian331即可免费获取~ 第6章响应式编程 进阶篇 第7章Spring Boot进阶 第8章用ORM操作SQL数据库 第9章接口架构风格一RESTful 第10章集成安全框架

唯品会开源分布式作业调度平台Saturn

…衆ロ難τιáo~ 提交于 2020-07-28 19:55:45
前言 Saturn英文意思是:土星,太阳系中的第二大行星。比地球高一个层级,地球是八大行星之一。而今天我们介绍的Saturn,是IT行业的一个分布式作业调度平台。可以看到Saturn的管理界面的象征性图标就是如下一个土星标志​: 土星 背景 普通的SpringBoot/SpringCloud微服务和Dubbo RPC分布式架构技术,都有着其各自的优缺点。其中最明显的就是模块间的依赖性: 比如SpringCloud必须依赖网关Zuul和ConfigCenter配置中心。 前一个业务模块必须启动并正常运行,后面依赖该业务模块的才能正常启动。 Dubbo必须要配置Service且正常启动并运行。 后面调用前面的Dubbo Service作业才能正常启动。 一、简介 Saturn (任务调度系统)是唯品会开源的一个分布式任务调度平台,取代传统的Linux Cron/Spring Batch Job的方式,做到全域统一配置,统一监控,任务高可用以及分片并发处理。 Saturn是在当当开源的Elastic Job基础上,结合各方需求和我们的实践见解改良而成。 GitHub上Saturn官网活跃着很多Saturn用户和爱好者,业界也有很多公司以Saturn作为公司的核心架构 https://github.com/vipshop/Saturn 二、特性 基于时间的作业调度,作业实现不受开发语言所限

Maven-dependencyManagement 用法

耗尽温柔 提交于 2020-07-28 19:33:12
DepencyManagement应用场景 当我们的项目模块很多的时候,我们使用Maven管理项目非常方便,帮助我们管理 构建、文档、报告、依赖、scms、发布、分发 的方法。可以方便的 编译代码、进行依赖管理、管理二进制库 等等。 由于我们的模块很多,所以我们又抽象了一层,如下图抽出一个 femicro 来管理子项目的公共的依赖。为了项目的正确运行,必须让所有的子项目使用依赖项的统一版本,必须确保应用的各个项目的依赖项和版本一致,才能保证测试的和发布的是相同的结果。 在我们项目顶层的POM文件中,我们会看到dependencyManagement元素。通过它元素来管理jar包的版本,让子项目中引用一个依赖而不用显示的列出版本号。Maven会沿着父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,然后它就会使用在这个dependencyManagement元素中指定的版本号。 父类POM配置 继承自springboot-parent 本项目中,父类POM中dependencyManagement配置 <!--依赖管理,用于管理spring-cloud的依赖--> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId>

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

穿精又带淫゛_ 提交于 2020-07-28 19:28:47
今天我们介绍的Zuul动态路由的解决方案来自于携程开源的配置中心Apollo。 Apollo概述 Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。 Apollo支持4个维度管理Key-Value格式的配置: application (应用) environment (环境) cluster (集群) namespace (命名空间) Apollo相比于Spring Cloud Config优势 Spring Cloud Config的精妙之处在于它的配置存储于Git,这就天然的把配置的修改、权限、版本等问题隔离在外。通过这个设计使得Spring Cloud Config整体很简单,不过也带来了一些不便之处。(了解源码可+求求: 1791743380) 功能点 Apollo Spring Cloud Config 备注 配置界面 一个界面管理不同环境、不同集群配置 无,需要通过git操作 配置生效时间 实时 重启生效,或手动refresh生效 Spring Cloud Config需要通过Git webhook,加上额外的消息队列才能支持实时生效 版本管理 界面上直接提供发布历史和回滚按钮 无,需要通过git操作 灰度发布 支持 不支持 授权、审核、审计

Spring Boot 2.3.1 发布,带来了 10 个新特性!

浪子不回头ぞ 提交于 2020-07-28 19:27:37
是的,Spring Boot 2.3 刚发布不久,Spring Boot 2.3.1 又来了,又加了很多新功能啊,一起来瞧瞧。 下面是官宣: https://spring.io/blog/2020/06/12/spring-boot-2-3-1-available-now 栈长解读: Spring Boot 2.3.1 发布于:2020/06/12,现在已经提交到 Spring 仓库和 Maven 中央仓库了。 这个版本包括 127 个 bug 修复、Spring Boot 文档改进增强、依赖升级等,另外还新增了一些新特性: 提供基于新的 Maven 坐标 com.oracle.database 对 Oracle JDBC driver 的依赖管理; 优化 Spring Cloud 的 CachedRandomPropertySource 不能正确适配的问题; 限制使用定制的 YAML 类型; 增强对 NoSuchMethodErrors 异常失败分析,能显示基类从哪被加载的; 提供更佳的错误消息,如果 Docker 停止运行了; 优化 SystemEnvironmentPropertyMapper 类; 提供更佳的诊断信息,当构建 OCI 镜像失败时 Docker 响应的 500 错误; 支持通过 alwaysUseFullPath=true 参数来配置

听说你要接私活?Guide哥连夜整理了5个开源免费的Java项目快速开发脚手架,项目经验也有了。

微笑、不失礼 提交于 2020-07-28 19:00:55
本文已经收录进我的 75K Star 的 Java 开源项目 JavaGuide: https://github.com/Snailclimb/JavaGuide 大家好,我是 Guide 哥,一个三观比主角还正的技术人。推荐阅读: 今天推荐几个 Java 项目快速开发脚手架,解放双手 ✋ 从现在开始。 以下推荐项目都是码云上的优质项目,并且都是项目快速开发脚手架,代码质量什么的无法保证能有多好,毕竟很多也是个人开发,或多或少也有个人色彩影响。 不过既然开源出来,这么多人参与,一般情况下项目整体质量可以说是非常不错的了。另外,下面推荐的项目几乎都是码云上面选出来的最有价值的开源项目。后面,可能会单独再推荐一期 Github 上的 Java 项目快速开发脚手架。 想要获取更多开源项目资源?欢迎关注我的 awesome-java(Github 上非常棒的 Java 开源项目集合),地址: https://github.com/Snailclimb/awesome-java 。 概览 : Guns pig RuoYi Jeecg-boot iBase4J Guns 推荐指数 :⭐⭐⭐⭐⭐ 简介 我在上大学的时候就了解和接触过了这个项目,当时我还是一个 Spring 入门不太久的小菜鸟。一晃,不经意间已经过去快 3 年了。 采用主流框架 : 基于 Spring Boot2.0+版本开发

Choerodon猪齿鱼实践之Webhook配置

一笑奈何 提交于 2020-07-28 18:02:21
本文介绍了Choerodon猪齿鱼中配置 Webhook 的方法,帮助大家了解如何将Choerodon平台中各种事件的相关消息推送到钉钉、企业微信或其他支持Webhook的第三方平台或应用,从而使团队协作更加敏捷高效。 功能背景 Webhook是Jeff Lindsay在2007年提出的概念,它是一个web自定义的回调函数,当程序发生特定行为时,会自动回调指定的url。Webhook的回调url可以是第三方平台或应用,也可以是Webhook内的应用。 在Choerodon猪齿鱼中,Webhook扮演了一个跨应用、跨平台传递事件消息通知的角色。用户可以将Choerodon猪齿鱼中发生的事件通过Webhook的方式通知到钉钉、企业微信或其他支持Webhook的第三方平台。 功能使用介绍 Choerodon自V0.20.0之后便支持在“项目层-设置-通知” 中配置钉钉、企业微信与Json类型的Webhook,若想在此版本中配置Webhook,首先需要平台管理员在“平台层-通知-消息服务”菜单下为目标事件配置Webhook的默认模板,之后才能在项目层创建Webhook时选择到这个触发事件。 而在V0.22.0中,Choerodon新增了组织层配置webhook的功能,并支持查看所有Webhook的执行记录。此外,还在平台中为大部分常用触发事件预设了消息模板

微服务技术栈:流量整形算法,服务熔断与降级

感情迁移 提交于 2020-07-28 15:54:37
本文源码: GitHub·点这里 || GitEE·点这里 一、流量控制 1、基本概念 流量控制的核心作用是限制流出某一网络的某一连接的流量与突发,使这类报文以比较均匀的速度流动发送,达到保护系统相对稳定的目的。通常是将请求放入缓冲区或队列内,然后基于特定策略处理请求,匀速或者批量处理,该过程也称流量整形。 流量控制的核心算法有以下两种:漏桶算法和令牌桶算法。 2、漏桶算法 基础描述 漏桶算法是流量整形或速率限制时经常使用的一种算法,它的主要目的是控制数据注入到网络的速率,平滑网络上的突发流量。漏桶算法提供了一种机制,通过它,突发流量可以被整形以便为网络提供一个稳定的流量。 漏桶算法基本思路:请求(水流)先进入到容器(漏桶)里,漏桶以一定的速度出水,这里就是指流量流出的策略,当流量流入速度过大容器无法承接就会直接溢出,通过该过程限制数据的传输速率。 核心要素 通过上述流程,不难发现漏桶算法涉及下面几个要素: 容器容量 容器的大小直接决定能承接流量的多少,容器一但接近饱和,要么溢出,要么加快流速; 流出速度 流量流出的速度取决于服务的请求处理能力,接口支撑的并发越高,流速就可以越大; 时间控制 基于时间记录,判断流量流出速度,控制匀速模式, 注意:需要一个基本的判定策略,漏桶算法在系统能承接当前并发流量时,不需要启用。 3、令牌桶算法 基础描述

spring cloud+spring boot 微服务 b2b2c b2c 电子商务

给你一囗甜甜゛ 提交于 2020-07-28 14:31:49
涉及平台:平台管理(包含自营店面)、商家端(PC端、手机端)、买家平台(PC端、H5/公众号、小程序、APP端(IOS/Android)、业务微服务 核心架构:Spring Cloud、Spring Boot、Mybatis Plus、Redis 前端框架:VUE、Bootstrap/H5/CSS3、IOS、Android、小程序 核心思想:分布式、微服务、云架构、模块化、原子化、持续集成、集群部署 开发模式:代码生成工具、驱动式开发模式、提高开发效率 社交模式:VR全景虚拟现实线上线下、直播带货、短视频带货、分销分润、代跑腿配送等 JDK/数据库:JDK 1.8+/MYSQL 5.6+ 源碼來源 来源: oschina 链接: https://my.oschina.net/u/3613013/blog/4312925