Spring Cloud

JNPF.java前后端分离框架,SpringBoot+SpringCloud开发微服务平台

China☆狼群 提交于 2020-08-15 15:47:57
JNPF.java 版本采用全新的 前后端分离 架构模式。前后端分离已成为互联网项目开发的业界标准开发方式,通过 nginx+tomcat 等方式有效的进行解耦合,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务打下坚实的基础。 技术选型: SpringBoot SpringCloud Mybatis-Plus Redis jquery vue Bootstrap ElementUI Uniapp h5 微服务开发: JNPF.java采用 SpringBoot框架 和 SpringCloud框架 ,springboot框架的特点在于简化配置,快速开发,再在搭配上代码生成器,让不懂代码的人也能做到快速开发软件。Springboot也有良好的扩展性,可以将springboot项目拆分为springcloud微服务,springcloud是一套目前完整功能的微服务框架。 微服务已经成为未来开发的大趋势之一了,越来越多的企业开始转型微服务架构,使用微服务架构的项目更加易于开发和维护,并且突破了技术栈的限制,在JNPF.java项目中,已经不限制开发语言了,你可以使用c#语言来开发java项目。 功能模块: 代码生成器 数据连接 功能管理 系统配置 菜单导航 组织管理 岗位管理 用户管理 权限管理 工作流引擎 流程委托 流程设计 报表设计 知识管理等多种原生组件

JNPF.java前后端分离框架,SpringBoot+SpringCloud开发微服务平台

不想你离开。 提交于 2020-08-15 15:47:45
JNPF.java 版本采用全新的 前后端分离 架构模式。前后端分离已成为互联网项目开发的业界标准开发方式,通过 nginx+tomcat 等方式有效的进行解耦合,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务打下坚实的基础。 技术选型: SpringBoot SpringCloud Mybatis-Plus Redis jquery vue Bootstrap ElementUI Uniapp h5 微服务开发: JNPF.java采用 SpringBoot框架 和 SpringCloud框架 ,springboot框架的特点在于简化配置,快速开发,再在搭配上代码生成器,让不懂代码的人也能做到快速开发软件。Springboot也有良好的扩展性,可以将springboot项目拆分为springcloud微服务,springcloud是一套目前完整功能的微服务框架。 微服务已经成为未来开发的大趋势之一了,越来越多的企业开始转型微服务架构,使用微服务架构的项目更加易于开发和维护,并且突破了技术栈的限制,在JNPF.java项目中,已经不限制开发语言了,你可以使用c#语言来开发java项目。 功能模块: 代码生成器 数据连接 功能管理 系统配置 菜单导航 组织管理 岗位管理 用户管理 权限管理 工作流引擎 流程委托 流程设计 报表设计 知识管理等多种原生组件

JNPF.java前后端分离框架,SpringBoot+SpringCloud开发微服务平台

老子叫甜甜 提交于 2020-08-15 15:08:16
JNPF.java 版本采用全新的 前后端分离 架构模式。前后端分离已成为互联网项目开发的业界标准开发方式,通过 nginx+tomcat 等方式有效的进行解耦合,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务打下坚实的基础。 技术选型: SpringBoot SpringCloud Mybatis-Plus Redis jquery vue Bootstrap ElementUI Uniapp h5 微服务开发: JNPF.java采用 SpringBoot框架 和 SpringCloud框架 ,springboot框架的特点在于简化配置,快速开发,再在搭配上代码生成器,让不懂代码的人也能做到快速开发软件。Springboot也有良好的扩展性,可以将springboot项目拆分为springcloud微服务,springcloud是一套目前完整功能的微服务框架。 微服务已经成为未来开发的大趋势之一了,越来越多的企业开始转型微服务架构,使用微服务架构的项目更加易于开发和维护,并且突破了技术栈的限制,在JNPF.java项目中,已经不限制开发语言了,你可以使用c#语言来开发java项目。 功能模块: 代码生成器 数据连接 功能管理 系统配置 菜单导航 组织管理 岗位管理 用户管理 权限管理 工作流引擎 流程委托 流程设计 报表设计 知识管理等多种原生组件

zipkin span过多 加载很慢

喜欢而已 提交于 2020-08-15 14:49:39
场景: 数据量大,打开zipkin页面有时候报错,打不开。 加载页面过慢,因为span数据太多。 原因:使用spring-cloud-sleuth后,feign 访问Controller后得span得名字 当使用restful风格后,span的名字就图像如上。 触发此事件的场景: 1.浏览器直接调用 解决:修改spring sleuth Controller 的 源码: org.springframework.cloud.sleuth.instrument.web.client.AbstractTraceHttpRequestInterceptor.publishStartEvent(HttpRequest) 2.服务之间调用(feign) 解决:修改spring feign sleuth 源码: org.springframework.cloud.sleuth.instrument.web.client.feign.TraceFeignClient.execute(Request, Options) org.springframework.cloud.sleuth.instrument.web.client.feign.TraceFeignClient.getSpanName(Request) 3.服务之间调用(java网关,gateway(默认根据http 类型,不会有问题)

基于SpringBoot、SpringCloud、Docker微服务架构实战,资源分享

孤街醉人 提交于 2020-08-15 14:09:15
前言 近年来,微服务架构( Microservices Architecture )已经成为一种主流的软件开发方法论,它把一种特定的软件应用设计方法描述为能够独立部署的服务套件。所谓微服务( Microservices ),就是一些具有足够小的力度、能够相互协作且自治的服务体系。每个微服务都比较简单 仅关注于完成一个功能并能很好地完成该功能,而这里的功能代表的是一种业务能力。构建微服务体系需要一套完整的方法论和工程实践,而微服务架构的提出代表的就是实现微服务体系的架构模式,即为我们提供了这些方法论和工程实践 从这个角度讲 微服务架构需要我们理解、学习并应用到日常开发过程中去。 成为一名架构师几乎是每个程序员的梦想。而微服务架构则是当今架构领域最受关注的话题。掌握微服务架构技术栈相关技能,是从一名普通程序员到资深架构师的必经之路。 今天楼主给大家带来的一篇关于微服务相关的电子书资源,介绍了关于微服务架构、Spring Boot、Spring Cloud、Docker方面的内容。 1.根据Spring Boot、Spring Cloud、Docker等技术性搭建微保障体系。 2.精简而详细的经典案例展现保持分布式架构的详细宏伟蓝图。 3.融合业务流程情景,根据全方位实例得出专用工具在搭建分布式架构中的工程项目实战演练。

Feign原理 (图解)

北城以北 提交于 2020-08-15 14:02:44
疯狂创客圈 Java 高并发【 亿级流量聊天室实战】实战系列 【 博客园总入口 】 疯狂创客圈 正在 进行分布式和高并发基础原理 的研习,进行已经发布一些基础性的文章: 一、 版本1 :springcloud + zookeeper 秒杀 以及有关Springcloud 几篇 核心、重要的文章 : 一、 Springcloud 配置, 史上最全 一文全懂 二、 Feign Ribbon Hystrix 三者关系 , 史上最全 深度解析 三、 SpringCloud gateway 详解 , 史上最全 四、 常识纠错:Feign 默认不用 短连接 1SpringCloud 中 Feign 核心原理 如果不了解 SpringCloud 中 Feign 核心原理,不会真正的了解 SpringCloud 的性能优化和配置优化,也就不可能做到真正掌握 SpringCloud。 本章从Feign 远程调用的重要组件开始,图文并茂的介绍 Feigh 远程调用的执行流程、Feign 本地 JDK Proxy 实例的创建流程,彻底的为大家解读 SpringCloud 的核心知识。使得广大的工程师不光做到知其然,更能知其所以然。 1.1 简介:Feign远程调用的基本流程 Feign远程调用,核心就是通过一系列的封装和处理,将以JAVA注解的方式定义的远程调用API接口,最终转换成HTTP的请求形式

一言难尽,Jpa这个功能差点让我丢了工作

穿精又带淫゛_ 提交于 2020-08-15 13:56:44
故事背景 前阵子,有位朋友在微信上问我数据被删了能不能恢复,我问了下原因,居然是因为一个配置项惹的祸。 故事细节 在 Spring Boot 中使用 jpa 来操作数据库,jpa 就不做详细的介绍了,相信大家都有所了解或者也用过。 在 jpa 中有一个配置项,可以让程序在启动的时候自动初始化表结构或者更新表结构的功能。听上去很不错,非常实用。 其实这是一个非常危险的功能,个人觉得不应该提供这种功能,只要留了口子就有可能会出问题。 这个配置就是: spring.jpa.hibernate.ddl-auto create( 危险系数 2 颗星 ) 应用启动的时候,如果数据库中没有对应的表,就会自动根据实体类的结构创建一个表结构。如果表已经存在了就会将表中的数据清空。 create-drop( 危险系数 3 颗星 ) 应用启动的时候,如果数据库中没有对应的表,就会自动根据实体类的结构创建一个表结构。如果表已经存在了就会将表中的数据清空。 程序停止的时候会将数据库中所有表删除掉。 update( 危险系数 1 颗星 ) 应用启动的时候,如果数据库中没有对应的表,就会自动根据实体类的结构创建一个表结构。如果表已经存在了就会判断有没有新增字段或者修改长度之类的,如果有则会更新表结构,不会影响数据。 validate( 危险系数 0 颗星 ) validate 不会更新和删除表或者数据

从零到壹搭建大规模应用技术架构演进-蛙课网

限于喜欢 提交于 2020-08-15 12:49:46
从零搭建 > 刚开始的时候,也就是创业初期或网站/产品初期,业务功能比较少,访问量也不大,通过就是采用经典的MVC架构,采用单体应用的模式进行开发,然后发布到Tomcat容器中运行,这时候我们的文件,数据库,应用都在一个服务器上,没有缓存,不追求性能优化与网站架构。 服务分离 > 随着业务的发展,系统功能的增多,访问用户量的增加,显然采用单台服务器已无法满足系统的负载,这时候,我们就需要提前采取相应的措施,应对访问流量的增加。由于我们是单体架构,优化架构在短时间内是不现实的,增加机器是一个不错的选择。这时候,我们可以把应用和数据库服务分开单独部署,如果有条件也可以把文件服务器单独部署。 集群部署 > 为了提升服务处理能力,我们通常会将Tomcat容器进行集群部署,集群主要分为三大类( 高可用集群, 负载均衡集群,科学计算集群)。我们最生产中最常见的就是负载均衡集群。 负载均衡 > 集群部署之后,我们不能让用户通过两个入口访问我们的服务,而是统一访问入口,此时我们可以在Tomcat容器前加一个负载均衡代理服务器,业界比较流行的是采用Nginx,当然使用apache也未尝不可。 用户的请求发送给Nginx反向代理服务器,然后反向代理把请求转发到后端的应用服务器。 严格意义上来说,Nginx是属于web服务器,一般用于处理静态html、css、js请求,而Tomcat属于web容器

OAuth2 Token 一定要放在请求头中吗?

萝らか妹 提交于 2020-08-15 12:29:06
Token 一定要放在请求头中吗? 答案肯定是否定的,本文将从源码的角度来分享一下 spring security oauth2 的解析过程,及其扩展点的应用场景。 Token 解析过程说明 当我们使用 spring security oauth2 时, 一般情况下需要把认证中心申请的 token 放在请求头中请求目标接口,如下图 ① spring security oauth2 通过拦截器获取此 token 完成令牌到当前用户信息(UserDetails)的转换。 OAuth2AuthenticationProcessingFilter.doFilter public class OAuth2AuthenticationProcessingFilter{ public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { try { // 1. 根据用户请求解析令牌,组装预登陆对象 Authentication authentication = tokenExtractor.extract(request); if (authentication == null) { // 若是预登陆状态为空,把无状态登录清空

springboot 注册到nacos

走远了吗. 提交于 2020-08-15 10:34:17
springboot 版本 2.0.8.RELEASE <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.0.8.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> 参考文章: https://nacos.io/zh-cn/docs/quick-start-spring-cloud.html 是使用Nacos Spring Cloud方式配置的,为什么是不使用springboot ,因为springboot加代码,自己手动注册。 服务端用的是1.1.4,因为1.2.0要用户认证 1、配置 1.1添加依赖包 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> <version>0.2.1.RELEASE</version> </dependency> 1.2添加文件bootstrap.properties,内容