微服务架构
文章平均质量分 80
微服务使用记录。
谦奕爸爸
路漫漫其修远兮,吾将上下而求索
展开
-
安全认证系列之-Spring Filters
文章目录前言一、简单的流程图二、示例代码三、常见的内建过滤器总结前言任何Spring Web应用本质上只是一个 servlet。Security Filter在HTTP请求到达你的Controller之前过滤每一个传入的HTTP请求。一、简单的流程图流程描述:用户通过浏览器访问服务器资源。经过拦截器,拦截器验证用户是否是合法用户。未认证401、未授权403。已认证已授权可以访问对应的资源。二、示例代码代码讲解:首先,过滤器需要从请求中提取一个用户名/密码。它可以通过一原创 2021-01-21 17:19:21 · 307 阅读 · 0 评论 -
微服务系列之-Oauth2安全认证
文章目录前言一、微信Oauth2认证二、其他Oauth2认证三、客户端的授权模式1、授权码模式2、简化模式3、密码模式4、客户端模式总结前言OAuth是一个关于授权(authorization)的开放网络标准,在业界得到广泛应用,目前的版本是2.0版。简单来说就是客户端应用程序(通常是web浏览器)代表用户(得到了用户的批准)去访问受保护的资源。一、微信Oauth2认证OAuth2的设计背景,在于允许用户在不告知第三方自己的帐号密码情况下,通过授权方式,让第三方服务可以获取自己的资源信息。下原创 2021-01-19 17:58:21 · 630 阅读 · 0 评论 -
微服务系列之-JWT安全认证
文章目录前言一、JWT认证流程二、JWT数据结构三、JWT 的优点四、关于 token 注销总结前言JSON Web Tokens(JWT)是一种认证协议,是为了在网络应用环境间传递声明而执行的一种基于 JSON 的开放标准(RFC 7519)。JWT 一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该 Token 也可直接被用于认证,也可被加密。授权服务器将用户信息和授权范围序列化后放入一个JSON字符串,原创 2021-01-18 21:41:57 · 696 阅读 · 0 评论 -
微服务系列之-API Tokens安全认证
文章目录前言一、基于Token认证的典型流程二、优点三、缺点总结前言随着 Restful API、微服务的兴起,基于 Token 的认证现在已经相当普遍了。Token一般会包含用户的相关信息,其它微服务可以从Token里提取出用户、权限等信息完成鉴权。一、基于Token认证的典型流程流程描述:用户使用包含用户名和密码的credential从客户端发起资源请求。后端接受请求,通过授权中心,生产有效token字符串,返回给客户端。客户端获得token后,再次发出资源请求。后端接受带tok原创 2021-01-18 20:45:06 · 665 阅读 · 0 评论 -
微服务系列之-分布式Session安全认证
文章目录前言一、session作用二、session原理三、单体架构四、集群/分布式架构五、Session复制六、Session粘性七、Cookie方案八、Session外部存储数据库存储Memcache存储Redis存储总结前言这篇博客的目的是为了研究session会话在微服务架构中采用的技术方案,以及探讨一下企业应用在使用session过程中需要注意的问题。一、session作用我们知道在web应用中,web服务器和浏览器之间是用http协议进行通信的,而http协议是无状态的,也就是每个请原创 2021-01-18 12:28:03 · 370 阅读 · 0 评论 -
微服务系列之-微服务架构下的安全设计方案
文章目录前言一、微服务安全设计原则二、微服务常见的认证方案1.分布式Session2.API Tokens3.JWT4.Oauth25.Spring Cloud Security解决方案总结前言主要探讨一下在微服务架构下的一下安全设计方面的内容,包括JWT、OAuth2.0以及如何使用Spring Cloud Security实现保护服务接口、服务间的鉴权等。一、微服务安全设计原则微服务安全是在实际应用中的一个很普遍要求,安全主要关心调用者是谁, 调用者能干什么, 以及如何传播这个信息,也就是常原创 2021-01-18 09:11:03 · 1075 阅读 · 2 评论 -
项目管理之-项目发布Ubuntu服务器管理
文章目录前言一、服务器组件安装二、微服务模块三、资源规划措施1、减少微服务模块运行内存2、定时清理服务器缓存3、微服务日志定时清理总结前言以前还真没有为服务器资源操心过,因为之前呆的公司有机房,服务器资源可以说非常之充足,没有直接对接过客户。但是直接对接客户,真正给那种精打细算的客户发布服务的时候,你就会知道让客户掏钱那是艰难无比,哪怕是服务器也不想多花钱。其实公司搭建的平台是用微服务集成的,整个服务器启动,预计有8个左右,但是最后提供的服务器资源是一台8G4核的服务器。按照实际资源来说单体架构没有原创 2020-12-02 17:40:51 · 367 阅读 · 0 评论 -
微服务系列之-Admin集成
一.介绍Spring Boot Admin是一个开源社区项目,用于管理和监控SpringBoot应用程序。 应用程序作为Spring Boot Admin Client向为Spring Boot Admin Server注册(通过HTTP)或使用SpringCloud注册中心(例如Eureka,Consul)发现。 UI是的AngularJs应用程序,展示Spring Boot Admin Client的Actuator端点上的一些监控。常见的功能或者监控如下:显示 name/id 和版本号显示在线原创 2020-05-11 19:57:54 · 476 阅读 · 0 评论 -
微服务系列之-Eureka登录权限添加
一.书写目的正常来说一般内部访问注册中心是不需要设置Eureka登录权限的,如果暴露到外部我们为了我们的Eureka注册中心,不背外部恶意使用,我们可以添加Eureka访问登录权限来控制服务注册。二.操作步骤主要依赖添加 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-sta原创 2020-05-11 11:23:19 · 1133 阅读 · 0 评论 -
微服务系列之-Gateway集成
一.Gateway核心概念网关简单的说就是提供一个对外统一的API入口和出口,统管企业对外的所有API出口。一般来说,网关对外暴露的URL或者接口信息,我们统称之为路由信息。如果研发过网关中间件,或者使用或了解过ZUUL的,网关的核心肯定是Filter以及Filter Chain(Filter责任链)。Spring Cloud Gateway也具有路由信息和Filter。路由(route)...原创 2020-05-08 15:44:37 · 1487 阅读 · 0 评论 -
微服务系列之-Feign服务集成
一.介绍feign是声明式的web service客户端,它让微服务之间的调用变得更简单了,类似controller调用service。Spring Cloud集成了Ribbon和Eureka,可在使用Feign时提供负载均衡的http客户端。原理可能很多,但是用起来其实并不是那么复杂。二.集成操作依赖添加 <dependency> &...原创 2020-05-07 11:00:41 · 445 阅读 · 0 评论 -
微服务系列之-Config服务端关键信息加解密
一.前言配置文件统一放在配置中心,配置中心文件明文存在不安全,容易泄露比如数据库用户名、密码等一些关键信息,我们可以通过对一些账户信息进行加密,这样别人就很难窥探服务的账户信息。二.操作步骤JCE加密,Oracl官网下载,替换本机JDK下JRE的lib下在两个文件。Java Cryptography Extension (JCE) Unlimited Strength Jurisdic...原创 2020-05-06 16:35:06 · 344 阅读 · 0 评论 -
微服务系列之-Config配置刷新操作集成
一.前言我们前面两个篇幅讲解了配置中心的本地配置读取模式、远程配置读取模式。这一篇幅来讲解如何配置远程刷新机制来动态刷新服务配置,不用再用以前的老办法通过停止服务、重新发包来更新服务配置。原理图以及运行关键步骤:提交配置触发post请求给server端的bus/refresh接口server端接收到请求并发送给Spring Cloud Bus总线Spring Cloud bus接到消...原创 2020-05-04 14:45:10 · 620 阅读 · 0 评论 -
微服务系列之-Config配置中心远程集成
一.前言继续上一篇config本地集成:微服务系列之-Config配置中心本地集成这一章节,我们这一次来探讨如何通过远程拉取对应服务配置文件。二.服务配置我提前转备好了一个远程配置中心仓库:qy-config-center这里面我创建了一个文件夹config,并且将我已经写好的配置文件放到了config文件夹下面,下面我们来通过简单地配置,将配置中心加载配置模式改为远程模式。主要配...原创 2020-05-03 11:40:51 · 914 阅读 · 0 评论 -
微服务系列之-Config配置中心本地集成
一.Config概述Spring Cloud Config 提供一种基于客户端与服务端(C/S)模式的分布式的配置管理。我们可以把我们的配置管理在我们的应用之外(config server 端),并且可以在外部对配置进行不同环境的管理,比如开发/测试/生产环境隔离,并且还能够做到实时更新配置。二.服务搭建配置中心服务搭建好以后,我们主要有两种方式实现配置的读取,一种是本地模式,一种是远程模式...原创 2020-05-02 20:04:43 · 1583 阅读 · 0 评论 -
微服务系列之-Mybatisplus集成
一.Mybatisplus介绍这款插件跟我之前用过的beetlsql插件很类似,都是插件替你完成底层代码的编写工作你不用在耗费大量精力去写底层SQL语句啥的,它内置的接口几乎可以满足所有的增删改查要求,十分强大,也十分容易上手。如需要详细介绍信息,就参考官网官方解释:MyBatis-Plus官方网站二.关键配置依赖包 <dependency> ...原创 2020-04-29 17:07:00 · 1242 阅读 · 0 评论 -
微服务系列之-Swagger2集成
一.swagger简介Swagger是一个规范和完整的框架,用于生成,描述,调用和可视化RESTful风格的Web,总目标是作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来使用保持同步。Swagger让部署管理和使用功能强大的API简单起来。我自己用了这款集成插件,用起来十分的方便每次接口写完只需要启动服务,打开swagger路径就可以很好的查看自己的...原创 2020-04-29 14:51:08 · 867 阅读 · 0 评论 -
微服务系列之-Eureka Client集成
一.操作步骤客户端依赖<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency&g...原创 2020-04-29 11:24:00 · 292 阅读 · 0 评论 -
微服务系列之-Eureka Server集成
一.Eureka介绍博主本着实用为主的目的,不会对Eureka的原理做过多的解释,只会告诉大家这是个什么东西,以及他的用途,原理以后如果有时间研究,就会深入探讨。Spring Cloud 通过为Eureka 增加了Spring Boot 风格的自动化配置,我们只需通过简单引入依赖和注解配置就能让Spring Boot 构建的微服务应用轻松地与Eureka 服务治理体系进行整合。Eureka的...原创 2020-04-29 10:35:59 · 260 阅读 · 0 评论 -
consul系列之-组件安装
1.安装包下载wget https://releases.hashicorp.com/consul/1.5.3/consul_1.5.3_linux_amd64.zip2.配置全局环境变量解压安装包unzip consul_1.5.3_linux_amd64.zip2. 全局配置如果需要配置全局命令,直接copy consul应用到 /usr/local/bin 即可3...原创 2020-02-20 14:09:46 · 302 阅读 · 0 评论 -
MongoDB系列之-微服务集成
一.微服务地址因为之前作者已经转备好了开发环境,客户端工具也能正常连接,我部署在Linux百度云服务器的MongoDB服务,所以我本地新建微服务模块,用两种方式建立与MongoDB服务的连接。下面是我创建的微服务gitee地址,里面有代码。MongoDB与微服务集成代码部分,请点击!!!我这里只同步了与MongoDB服务连接的交互,不涉及具体的操作。二.必须依赖的JAR包<depe...原创 2020-01-10 11:18:35 · 789 阅读 · 0 评论 -
微服务系列之-微服务概念
一.为什么需要微服务。使用传统的整体式架构(Monolithic Architecture)应用开发系统,如CRM、ERP等大型应用,随着新需求的不断增加,企业更新和修复大型整体式应用变得越来越困难;随着移动互联网的发展,企业被迫将其应用迁移至现代化UI界面架构以便能兼容移动设备,这要求企业能实现应用功能的快速上线;许多企业在SOA投资中得到的回报有限,SOA可以通过标准化服务接口实现能力...原创 2020-01-08 14:24:10 · 352 阅读 · 0 评论 -
微服务系列之-Tomcat启动Spring Boot项目
把Spring Boot项目按照平常的Web项目一样发布到Tomcat容器下。一、修改打包形式在pom.xml里设置<packaging>war</packaging>二、移除嵌入式tomcat插件在pom.xml里找到spring-boot-starter-web依赖节点,在其中添加如下代码,<dependency> &...原创 2018-01-16 10:04:08 · 1775 阅读 · 0 评论