摘要:一. 架构演变历史 画图。。。 二. 什么是微服务 微服务到底是什么,什么情况下用, .Net Core 技术栈微服务怎么选择。各个技术栈是用来干什么的。 整个技术栈的图 Consul 、 Ocelot、 IDS4期间都有版本更新,下面代码要更新到最新版本哦。 Consul升级到【1.6.1.1】, 阅读全文
posted @ 2020-05-13 22:05 Yaopengfei 阅读(100) 评论(6) 推荐(1) 编辑
摘要:一. 简介 1. 数据库基本概念 (1). 数据库(DataBase:DB):数据库是是按照数据结构来组织、存储和管理数据的仓库。 >存储和管理数据的仓库. (2). 数据库管理系统(Database Management System:DBMS):是专门用于管理数据库的计算机系统软件。数据库管理系 阅读全文
posted @ 2020-03-30 10:06 Yaopengfei 阅读(156) 评论(1) 推荐(0) 编辑
摘要:一. 什么是数据结构 1. 简介 数据结构,简单的来说,就是研究数据的存储方式。我们必须要知道,数据在计算机上存储空间的存放,绝对不是胡乱放的,是为了方便后期对数据的再运用,这就要求我们选择一种好的方式来存储数据,这就是数据结构的核心内容。 比如:我们可以用数组来存放{1,2,3,4,5,6},为了 阅读全文
posted @ 2020-03-23 14:32 Yaopengfei 阅读(100) 评论(1) 推荐(0) 编辑
摘要:一. 简介 1. 说明 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用 阅读全文
posted @ 2020-02-25 14:35 Yaopengfei 阅读(127) 评论(2) 推荐(0) 编辑
摘要:一. 简介 1. 什么是Redis? 全称“Remote Dictionary Server”,基于内存管理数据,它有多种数据结构(常用的5种),分别应对不同场景;它是单线程模型的,所以不会存在并发问题,数据不会出现中间状态;对外提供:增删改查、固化、集群等功能,包含0-15个数据存储库。 PS:R 阅读全文
posted @ 2019-11-19 15:15 Yaopengfei 阅读(328) 评论(1) 推荐(1) 编辑
摘要:一. 二. 三. 系列章节 第一节:EF Core简介和CodeFirst和DBFirst两种映射模式(以SQLite和SQLServer为例) 第二节:EF Core的常规“增删改”及状态的变化 第三节:EF Core上下文DbContext相关配置和生命周期 第四节:EF Core的并发处理 第 阅读全文
posted @ 2019-04-07 17:19 Yaopengfei 阅读(560) 评论(3) 推荐(1) 编辑
摘要:一. 二. 三. 系列章节 第一节:.Net Core环境的安装和常用指令 第二节:SSL证书的申请、配置(IIS通用)及跳转Https请求的两种方式 第三节:Windows平台部署Asp.Net Core应用(基于IIS和Windows服务两种模式) 第四节:配置的读取、StartUp类、内置依赖 阅读全文
posted @ 2019-03-13 08:11 Yaopengfei 阅读(547) 评论(1) 推荐(0) 编辑
摘要:一. 简介 1. 什么是WebApi? WebApi是一个很广泛的概念,在这里我们特指.Net平台下的Asp.Net WebApi框架,它是针对各种客户端(浏览器、APP等)来构建Http服务的一个框架,它是一种RestFul风格的开发接口的技术,它比WebService更省流量,比WCF更简单。下 阅读全文
posted @ 2018-12-24 15:35 Yaopengfei 阅读(1824) 评论(2) 推荐(1) 编辑
摘要:一. 简单说几句 最早使用SignalR的时候大约是两年前了,记得当时是一个OA中消息的实时提醒,轮询的方式有点耗资源,WebSocket写起来又比较麻烦,最终选择了SignalR,当时是什么版本已经记不清了,反正现在最新的是2.3.0(这里指 .Net FrameWork下,而非Core下),这期 阅读全文
posted @ 2018-07-22 20:08 Yaopengfei 阅读(2029) 评论(1) 推荐(1) 编辑
摘要:一. 背景 我们在日常开发中,可能你会遇到这样的需求:"每个月的3号给用户发信息,提醒用户XXX "、"每天的0点需要统计前一天的考勤记录"、"每个月的1号计算上个月的库存情况"、"定时初始化数据供其它业务使用"、"每隔2分钟轮询查数据库看某业务是否被审核通过,并提示用户" 等等。 以上需求在开发中 阅读全文
posted @ 2018-06-23 07:46 Yaopengfei 阅读(5724) 评论(26) 推荐(30) 编辑
摘要:一. 背景 在刚接触开发的头几年里,说实话,根本不考虑多线程的这个问题,貌似那时候脑子里也有没有多线程的这个概念,所有的业务都是一个线程来处理,不考虑性能问题,当然也没有考虑多线程操作一条记录存在的并发问题,后面随着处理的系统业务越来越复杂,多线程再也回避不了了,也就借此机会深入研究了一下.Net中 阅读全文
posted @ 2018-06-21 07:35 Yaopengfei 阅读(4363) 评论(24) 推荐(26) 编辑
摘要:一. ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态模式,ViewState功不可没,通过的控件的拖拽和绑定,很快就可以搭建出来一个Web项目,其开发速度远胜Java、PHP,当年Web项目并不很重视体验, 阅读全文
posted @ 2018-06-20 07:38 Yaopengfei 阅读(6156) 评论(11) 推荐(25) 编辑
摘要:一. 谈情怀 从第一次接触开发到现在(2018年),大约有六年时间了,最初阶段连接数据库,使用的是【SQL语句+ADO.NET】,那时候,什么存储过程、什么事务 统统不理解,生硬的将SQL语句传入SQLHelper类中,后来知道还要注意SQL注入,引入参数化的方式,现在回想一下,那个阶段简直Low到 阅读全文
posted @ 2018-06-19 07:56 Yaopengfei 阅读(6107) 评论(16) 推荐(19) 编辑
摘要:一. 回顾历史 回顾个人发展历程,自2012年初次接触开发至今(2018年)已经有六个年头,这期间陆陆续续学习并掌握了不少技术,C#语言、ORM框架、多线程技术、设计模式、前端技术、MVC、MVVM框架思想等等,每种技术随着多次使用,随着不断的反思,逐渐经历 “了解→理解→掌握→精通 ”这么一个过程 阅读全文
posted @ 2018-06-15 11:41 Yaopengfei 阅读(5281) 评论(25) 推荐(32) 编辑
摘要:一. 什么是设计模式 纠结了好久,今天终于下定决心开始写设计模式系列,因为这个系列章节确实不好写,在这之前,也看了好多关于设计模式的博客、视频、书籍等,大多数用的例子要么猫啊狗啊、大雁等动物类;要么就是学生类,教师类,试想一下,哪个项目中会用这些动物类教师类呢? 我也和我同行的朋友交流了一下关于设计 阅读全文
posted @ 2018-04-03 16:10 Yaopengfei 阅读(502) 评论(5) 推荐(0) 编辑
摘要:一. 背景 二. 技术选型与比较 三. 由浅入深系列章节 第一节:框架前期准备篇之Log4net详解 第二节:框架前期准备篇之AutoFac常用用法总结 第三节:框架前期准备篇之利用Newtonsoft.Json改造MVC默认的JsonRestult 第四节:框架前期准备篇之进程外Session的两 阅读全文
posted @ 2018-02-01 13:43 Yaopengfei 阅读(553) 评论(3) 推荐(1) 编辑
摘要:一. 简介 1. 数据库基本概念 (1). 数据库(DataBase:DB):数据库是是按照数据结构来组织、存储和管理数据的仓库。 >存储和管理数据的仓库. (2). 数据库管理系统(Database Management System:DBMS):是专门用于管理数据库的计算机系统软件。数据库管理系 阅读全文
posted @ 2017-07-10 20:10 Yaopengfei 阅读(192) 评论(1) 推荐(0) 编辑
摘要:。。。 阅读全文
posted @ 2020-07-01 17:21 Yaopengfei 阅读(4) 评论(0) 推荐(0) 编辑
摘要:一. 前言 1.简介 授权码模式(authorization code)是功能最完整、流程最严密的授权模式。它的特点就是通过客户端的后台服务器,与"服务提供商"的认证服务器进行互动。 2. 流程图 流程 (A)用户访问客户端,后者将前者导向认证服务器。 (B)用户选择是否给予客户端授权。 (C)假设 阅读全文
posted @ 2020-06-28 17:30 Yaopengfei 阅读(12) 评论(1) 推荐(0) 编辑
摘要:一. 前言 1.业务背景 我们前面尝试了在业务服务器上加IDS4校验,实际上是不合理的, 在生产环境中,业务服务器会有很多个,如果把校验加在每个业务服务器上,代码冗余且不易维护(很多情况下业务服务器不直接对外开放),所以我们通常把校验加在Ocelot网关上,也就是说校验通过了,Ocelot网关才会把 阅读全文
posted @ 2020-06-21 21:25 Yaopengfei 阅读(12) 评论(2) 推荐(0) 编辑
摘要:一. 前言 1.简介 简化模式(implicit grant type)不通过第三方应用程序的服务器,直接在浏览器中向认证服务器申请令牌,步骤在浏览器中完成,令牌对访问者是可见的,且客户端不需要认证。 注:该模式也有很大的弊端,就是请求令牌在浏览器中能被看到。 2. 流程图 流程 (A)客户端将用户 阅读全文
posted @ 2020-06-21 19:19 Yaopengfei 阅读(19) 评论(1) 推荐(0) 编辑
摘要:一. IDS4简介 1. 什么是IDS4 IdentityServer是基于OpenID Connect协议标准的身份认证和授权程序,它实现了OpenID 和 OAuth 2.0 协议。 2. 相关地址 (1).官网:https://identityserver4.readthedocs.io/en 阅读全文
posted @ 2020-06-17 17:11 Yaopengfei 阅读(24) 评论(1) 推荐(0) 编辑
摘要:一. 认证和授权 1. 身份验证 指当客户端访问服务端资源时,验证客户端是否合法的一种机制. eg: Core MVC中通过 app.UseAuthentication() 开启。最常见的是通过 用户名和密码,来验证您的身份。 2. 授权 指当客户端经过身份认证后,能够有限的访问服务端资源的一种机制 阅读全文
posted @ 2020-06-16 16:13 Yaopengfei 阅读(16) 评论(1) 推荐(0) 编辑
摘要:一. Ocelot+jwt 方案1 1. 方案背景 截至目前,我们已经完成了可以通过Ocelot转发请求给业务服务器了,但现在还有一项工作没有做,那就是身份校验,当然我们可以直接写在业务服务器上,但是业务服务器会非常多,不利于维护,所以最佳的写法是写在Ocelot网关上,让Ocelot进行校验,校验 阅读全文
posted @ 2020-06-13 15:13 Yaopengfei 阅读(24) 评论(1) 推荐(0) 编辑
摘要:。。。。 阅读全文
posted @ 2020-06-08 07:33 Yaopengfei 阅读(13) 评论(0) 推荐(0) 编辑
摘要:一. 基础说明 1. API网关剖析 (1).什么是Api API是Application Programming Interface缩写,翻译成中文就是应用程序接口。在实际微服务中可以理解一个个功能方法。就比如你一个商品服务的微服务, 可以对外提供 API 接口为,获取商品目录、获取商品详情等。 阅读全文
posted @ 2020-06-03 16:46 Yaopengfei 阅读(43) 评论(1) 推荐(0) 编辑
摘要:一. 简介 1. Polly是什么? Polly是 .Net Core 中有一个被.Net 基金会认可的库 ,可以用来简化熔断降级的处理。主要功能:失败处理-即降级(FallBack)、断路器-即熔断(CircuitBreaker)、重试(Retry)、超时检测(Timeout)、缓存(Cache) 阅读全文
posted @ 2020-05-25 21:44 Yaopengfei 阅读(37) 评论(1) 推荐(0) 编辑