Spring Cloud

凭借这份GitHub上疯狂霸榜标星140k的Spring全家桶文档,我接连斩获阿里、京东、腾讯三家offer

拈花ヽ惹草 提交于 2020-10-02 02:50:27
Spring框架自诞生以来一直备受开发者青睐,有人亲切的称之为:Spring 全家桶。它包SpringMVC、SpringBoot、Spring Cloud、Spring Data等解决方案。 很多研发人员把spring看作心目中最好的java项目,没有之一。Spring系列包含非常多的项目,可以满足java开发中的方方面面。所以这是重点也是难点,工作中必须会,面试时肯定考。 下面我会为大家介绍一些上面所说方案的相关实战PDF及面试资料,希望会对大家有所帮助~ Spring framework与Spring MVC Spring framework也就是我们经常说的spring框架,包括了ioc依赖注入,Context上下文、bean管理、springmvc等众多功能模块,其它spring项目比如spring boot也会依赖spring框架。 Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架。 话不多说上书 本书采用了总分总的结构,首先概述全书内容,让大家在脑子里建立起整个框架

SpringCloud 应用在 Kubernetes 上的最佳实践 — 线上发布(可监控)

夙愿已清 提交于 2020-10-01 12:59:39
作者 | 骐羽 阿里巴巴技术专家 导读 :本篇是“SpringCloud 应用在 Kubernetes 上的最佳实践”系列文章的第六篇,主要介绍了如何保障生产环境服务稳定,做到随时发布,从而加快业务的迭代和上线速度。 相关文章推荐: 《SpringCloud 应用在 Kubernetes 上的最佳实践 —— 开发篇》 《SpringCloud 应用在 Kubernetes 上的最佳实践 — 部署篇(开发部署)》 《SpringCloud 应用在 Kubernetes 上的最佳实践 — 部署篇(工具部署)》 《SpringCloud 应用在 Kubernetes 上的最佳实践 — 线上发布(可灰度)》 《SpringCloud 应用在 Kubernetes 上的最佳实践 — 诊断(线上联调)》 前言 在应用发布上线的时候我们最担心的莫过于因为代码的 bug 引发业务的问题,虽然我们可以通过灰度的方式分批发布减小影响范围,但是如果能够在发布的过程中从实时监控中快速的发现问题进行回滚,那么就能缩短业务受影响的时间。因此我们可以看到 灰度、监控、回滚是整个发布过程中不可或缺的三大利器 ,有了这三大利器后,我们能够做到随时发布,从而加快业务的迭代和上线速度。而监控作为基础设施的一个重要环节,是保障生产环境服务稳定不可或缺的一部分,目前 EDAS 提供了非常丰富的监控能力

Spring Cloud Security:Oauth2实现单点登录

本秂侑毒 提交于 2020-10-01 11:20:42
Spring Cloud Security:Oauth2实现单点登录 SpringBoot实战电商项目mall(20k+star)地址: github.com/macrozheng/… 摘要 Spring Cloud Security 为构建安全的SpringBoot应用提供了一系列解决方案,结合Oauth2可以实现单点登录功能,本文将对其单点登录用法进行详细介绍。 单点登录简介 单点登录(Single Sign On)指的是当有多个系统需要登录时,用户只需登录一个系统,就可以访问其他需要登录的系统而无需登录。 创建oauth2-client模块 这里我们创建一个oauth2-client服务作为需要登录的客户端服务,使用上一节中的oauth2-jwt-server服务作为认证服务,当我们在oauth2-jwt-server服务上登录以后,就可以直接访问oauth2-client需要登录的接口,来演示下单点登录功能。 在pom.xml中添加相关依赖: < dependency > < groupId > org.springframework.cloud </ groupId > < artifactId > spring-cloud-starter-oauth2 </ artifactId > </ dependency > < dependency > < groupId >

我们离得开 Spring 框架吗?

自作多情 提交于 2020-10-01 10:39:34
后端程序员,尤其是 Java 后端程序员,离得开 Spring 框架吗? 其实我理解 Spring 就是一个万能插排,可以对接几乎一切的开源接口,而且方便解耦,能简化开发。早些年框架还没有那么丰富,后面出现了 Spring Boot 和 Spring Cloud,它们可以 帮助工程师更好地基于 Spring 及各种基础设施来快速搭建系统,可以说,它们的诞生又一次解放了大家的生产力。 但 Spring 好用可不好学,记得我以前学习时,在代码之外,看着一堆依赖和配置,总是有些摸不清方向;组件那么多,总是不知道该从何入手;每天看公司使用 SSH 框架,就像看天书一样摸不着头脑: 依赖注入是什么玩意儿?直接 new 一个不就行了吗? 面向切面又是什么鬼?我面向我的对象还不够吗? ...... 诸如此类的疑惑每天都在出现,为此也没少挨骂。其实,从宏观的视角想一想,框架出现的本质是什么?框架是为了解决一个又一个在开发中所遇到的问题而诞生的。不同的框架,都是为了解决不同的问题,而 一名合格的 Java 后端工程师,Spring Framework、Spring Boot、Spring Cloud 这三者必须都牢牢掌握,你才可能拿下理想的 Offer。 那学习 Spring 有没有靠谱的资料呢?这个的确难选,现在市面上各种课程眼花缭乱,想找到合适的课不是易事,但有位朋友 —— 丁雪丰

总结java创建文件夹的4种方法及其优缺点-JAVA IO基础总结第三篇

放肆的年华 提交于 2020-10-01 09:39:35
本文是Java IO总结系列篇的第3篇,前篇的访问地址如下: 总结java中创建并写文件的5种方式-JAVA IO基础总结第一篇 总结java从文件中读取数据的6种方法-JAVA IO基础总结第二篇 本文为大家介绍Java IO-创建文件夹的四种方法,及其优缺点的解析。 如果您阅读完成,觉得此文对您有帮助,请给我点个赞,您的支持是我不竭的创作动力。 1.传统API创建文件夹方式 Java传统的IO API种使用 java.io.File 类中的 file.mkdir() 和 file.mkdirs() 方法创建文件夹 file.mkdir() 创建文件夹成功返回true,失败返回false。如果被创建文件夹的父文件夹不存在也返回false.没有异常抛出。 file.mkdirs() 创建文件夹连同该文件夹的父文件夹,如果创建成功返回true,创建失败返回false。创建失败同样没有异常抛出。 [@Test](https://my.oschina.net/azibug) void testCreateDir1() { //“D:\data111”目录现在不存在 String dirStr = "D:\\data111\\test"; File directory = new File(dirStr); //mkdir boolean hasSucceeded = directory

限速限流常用方案

南楼画角 提交于 2020-09-30 17:41:35
来源网站: www.wangdatao.com 前言 分布式系统中经常会提到限速和降级的概念。所谓限流,可以认为是服务降级的一种,限流就是限制系统的输入和输出流量, 以达到保护系统的目的 系统上线之前,一般都会进行压测,压测之后吞吐量是可以被测算的,为了保证系统的稳定运行, 一旦达到了设定限制的阔值,就需要限制流量并采取一些措施以完成限制流目的。常见的限流方案为:延迟处理、拒绝处理和部分拒绝处理等。一般高并发系统常见的限流有:限制总并发数(比如:数据库连接池、线程池)、限制瞬时并发数、限制时间窗口内的平均速率;其他还有如限制远程接口调用速率、限制MQ的消费速率;另外还可以根据网络连接数、网络流量、CPU或内存负载等来限流。 1、常用算法 1.1、计数器算法 算法思想: 规定一个时间周期,统计在一个周期内总共请求的次数,如果时间超过一个周期,则次数计入到下一个周期内。比如:当接收到第一个请求时,记录第一次的时间 beginTime, 计数器Counter设置为1,当第二个请求来时,判断第二个请求的时间与beginTime的间隔有没有超过最初设计的时间周期,如果没有超过,判断Counter是否超过设置的最大速度数,都满足时Counter加1;如果超过设计的时间周期,beginTime时间改为第二次请求的时间,Counter重置为1。 //不严谨的算法代码 public class

金九银十面试刷题必备:JVM+微服务+MySQL+Redis

痴心易碎 提交于 2020-09-30 16:45:27
前言 所有题目都是经过精心挑选的,很基础又考验求职者的基本功,应该说被面试到的几率很大。这里整理挑选出来供大家面试前拿来看一看。 整理这些面试题源于在微信群和几个刚入职的小伙伴们的一次讨论,很多小伙伴谈了自己的面试经历和体会,很多人最初鄙视刷题党,觉得开发技能最重要,但在短暂的面试过程中很挫败。转而去看面试题,但是网上面试题太多但又不全,查找很不方便,多是看过的又看,看十道才能看到面生的题目,极大的浪费了求职期间的宝贵时间。 最后大家一拍即合,准备各自把面试笔试以及自己看过好的题目收集起来,整理出来让后来的小伙伴们少踩些坑,所以有了这些题目。 由于篇幅有限,这边只展示一部分,有需要面试题答案和更多面试资料的朋友可以点一点下方链接免费领取! 链接: 点这里!!! 暗号:CSDN JVM面试题 1、内存模型以及分区,需要详细到每个区放什么? 2、堆里面的分区:Eden,survival (from+ to),老年代,各自的特点?、 3、对象创建方法,对象的内存分配,对象的访问定位? 4、GC 的两种判定方法? 5、SafePoint 是什么? 6、GC 的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路? 7、GC 收集器有哪些?CMS 收集器与 G1 收集器的特点? 8、Minor GC 与 Full GC 分别在什么时候发生

5分钟带你浅谈汉得技术中台HZERO!

夙愿已清 提交于 2020-09-30 15:58:55
汉得技术中台HZERO 一款基于微服务架构的技术中台产品,可支持企业各类系统搭建或产品研发,帮助企业快速构建技术中台。 汉得技术中台HZERO是企业级技术中台, 结合汉得多年的项目实施经验,应用微服务、容器、DevOps等云原生技术,封装了大量技术开发包、技术应用组件、技术场景实现能力,并结合以人工智能、大数据、物联网和云技术为代表的新一代信息技术,建设成为可支持各种企业级数字化应用的技术开发与应用平台。 基于沉淀的各种技术组件与能力,能快速组合实现业务场景,帮助企业更加高效便捷地落地产品研发、业务需求,快速进行数字化转型,减少企业在数字化过程中重复造轮子带来的成本浪费。支持SaaS模式应用, 提供了一个可支持企业各业务系统及产品快速开发实现的微服务应用数字化融合平台, 富含各类开箱即用的组件G-General、A-AI、B-BigData、M-Mobile、D-DevOps,助力企业跨越Cloud(IaaS/PaaS)与自身数字化的鸿沟,共享业务服务的组合重用,为企业服务化中台整合、数字化转型提供强力支撑,也为企业提供了最佳架构实践。 同时,HZERO 使用 Spring Cloud 作为微服务分布式系统,还基于 Spring Boot 进行了通用性模块的封装,例如鉴权服务、调度服务、消息服务等等;前端使用 React 作为开发组件,基于AntD进行二次封装和改造并自研了C7N