spring boot / cloud (十四) 微服务间远程服务调用的认证和鉴权的思考和设计,以及restFul风格的url匹配拦截方法 前言 本篇接着<spring boot / cloud (八) 使用RestTemplate来构建远程调用服务>这篇博客来继续讨论微服务间接口调用的认证和鉴权的思考和设计 在上一篇文章中主要是偏实现方面,具体的实现思想没有过多讨论,本篇文章则是主要讨论一下设计的思路. 我们都知道,在微服务的架构设计中,一个大的系统会被按照不同的领域拆分成一个个小的微服务,…
正常一个服务不会只做客户端或者只做服务端,一般的微服务都是服务与服务相互调用,那么,应该怎么配置呢?接着之前的dubbo入门之helloWorld,我们再改改配置,即可实现正常的微服务架构.与之前相比,我新增了一个既做客户端又做服务端的工程. HelloServerClientServiceImpl.java: package com.sawshaw.dubbo_server_client; import org.springframework.beans.factory.annotation.…
Spring Cloud与微服务构建:微服务简介 单体架构及其不足 1.单体架构简介 在软件设计中,经常提及和使用经典的3曾模型,即表示层.业务逻辑层和数据访问层. 表示层:用于直接和用户交互,也成为交互曾,通常是网页.UI等: 业务逻辑层:即业务逻辑处理层,例如用户输入的信息要经过业务逻辑层的处理后,才能展现给用户: 数据访问层:用于操作数据库,用户在表示层会产生大量的数据,通过数据访问层对数据库进行读写操作: 虽然在软件设计中划分了经典的3层模型,但是对业务场景没有划分.一个典型的单体应用就…
一 什么是微服务 译文: 微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调.互相配合,为用户提供最终价值.每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相协作(通常是基于HTTP 协议的RESTfulAPI ).每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境.类生产环境等.另外,应当尽量避免统一的.集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言.工具对其进行构建 解读微服务特点: 1:微服务是一种…
一.什么是微服务 1) Martin Fowler论文对微服务的阐述(中文版) 2) 对单一应用进行拆分 3) 每一个独立的应用都有一个独立的进程 4) 拥有自己独立的数据库 5) 微服务化的核心就是讲传统的一站式应用,根据业务拆分成一个一个的服务,彻底地去耦合,每一个微服务提供单个业务功能的服务,一个服务处理一件事,从技术角度就是一种小而独立的处理过程,类似进程的概念,能够自行单独启动或销毁,拥有自己的数据库. 二.微服务与微服务架构 2.1 微服务架构 1) 类似于eclipse工具里面用m…
前言 Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务.Seata 将为用户提供了 AT.TCC.SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案. 对于Seata不太了解的朋友,可以看下我之前写的文章: 微服务开发的最大痛点-分布式事务SEATA入门简介 微服务痛点-基于Dubbo + Seata的分布式事务(AT模式) TCC模式 TCC模式怎么理解 TCC(Try-Confirm-Cancel)实际上是服务化的两阶段提交协议,业务开发者需…
IdentityServer简介(摘自Identity官网) IdentityServer是将符合规范的OpenID Connect和OAuth 2.0端点添加到任意ASP.NET核心应用程序的中间件,通常,您构建(或重新使用)一个包含登录和注销页面的应用程序(可能还包括同意,具体取决于您的需要),IdentityServer中间件向其添加必要的协议头,以便客户端应用程序可以使用这些标准协议与之对话. 托管应用程序可以像您希望的那样复杂,但我们通常建议通过只包含与身份验证相关的UI来尽可能地保持…
前言 上一篇[.Net Core微服务入门全纪录(三)--Consul-服务注册与发现(下)]已经使用Consul完成了服务的注册与发现,实际中光有服务注册与发现往往是不够的,我们需要一个统一的入口来连接客户端与服务. Ocelot 官网:https://ocelot.readthedocs.io/ Ocelot正是为.Net微服务体系提供一个统一的入口点,称为:Gateway(网关). 上手Ocelot: 首先创建一个空的asp.net core web项目. 注意ocelot.json是我们…
1. 前言 2. gRPC与Protobuf简介 3. 安装 4. 中间文件演示 4.1 编写中间文件 4.2 运行protoc命令编译成go中间文件 5. 创建gRPC服务端 5.1 新建Product.protoc 5.2 运行protoc命令 5.3 实现RegisterProdServiceServer接口 5.4 准备工作完成,创建main函数将服务端跑起来 6. 创建gRPC客户端 6.1 拷贝Product.pb.go到客户端service文件夹下 6.2 编写client的mai…
基础准备 1.创建asp.net core Web 应用程序选择Api 2.appsettings.json 配置consul服务器地址,以及本机ip和端口号信息 { "Logging": { "LogLevel": { "Default": "Warning" } }, "Consul": { "IP": "127.0.0.1", " }, "S…