软件总会有缺陷的,解决问题的同时往往会引入新的问题,关键是看这些问题是否在我们的控制范围内,“灰度发布”就是让问题受控的方法之一. 前言 我们的 CTO 经常说:“研发团队最首要的任务是提供稳定的服务,然后才是提供符合客户需求的.易用和低成本的产品”.但事实是,在提供稳定云服务的同时,面对快速发展的客户业务场景,我们还需要不断 “拥抱变化”. Max Kanat-Alexander 在<简约之美:软件设计之道>(Code Simplicity)中提出的软件设计的 6 条法则恰到好处的描述了这一…
ORM-SqlRepoEx 是 .Net平台下兼容.NET Standard 2.0,一个实现以Lambda表达式转转换标准SQL语句,使用强类型操作数据的轻量级ORM工具,在减少魔法字串同时,通过灵活的Lambda表达式组合,实现业务数据查询的多样性. SqlRepoEx 由多个包组成,在使用中,如何选择,可按下列五点进行选择,减少不必要的包引用: 一.Nuget包的选择二.数据库与库对应关系三.写属性器的选择四.使用Dapper五.SqlRepoEx与Dapper 部分映射关系…
Istio是什么? Istio是Google继Kubernetes之后的又一开源力作,主要参与的公司包括Google,IBM,Lyft等公司.它提供了完整的非侵入式的微服务治理解决方案,包含微服务的管理.网络连接以及安全管理等关键能力,无需修改任何代码就能够实现微服务的负载均衡,服务与服务之间的认证授权以及监控.从整个基础设施角度上看,可以将它理解为PaaS平台上的一个面向微服务管理平台的补充. Istio架构示意图 Istio与Kubernetes Kubernetes提供了部署.升级和有限的…
轻量级 ORM-SqlRepoEx 介绍 SqlRepoEx是 .Net平台下兼容.NET Standard 2.0人一个轻型的ORM.解决了Lambda转Sql语句这一难题,SqlRepoEx使用的是Lambda表达式,所以,对c#程序员来说,是非常简单的,其语法特点与Linq to Sql极为相似.不仅实现了完整的Select.Insert.Update.Delete等语句解析器,同时,也实现了Select.where.order by等子句,这些语句与子句均支持导出SQL语句,使得拼接复杂…
Solon 是一个轻量的Java基础开发框架.强调,克制 + 简洁 + 开放的原则:力求,更小.更快.更自由的体验.支持:RPC.REST API.MVC.Job.Micro service.WebSocket.Socket 等多种开发模式. Solon Cloud 是一系列的接口标准和配置规范,算是 Solon 的分布式开发套件方案. 快速了解Solon的材料: <Solon 特性简集,相较于 Springboot 有什么区别?> <Solon Cloud 分布式服务开发套件清单,感觉…
Solon 是一个轻量的Java基础开发框架.强调,克制 + 简洁 + 开放的原则:力求,更小.更快.更自由的体验.支持:RPC.REST API.MVC.Job.Micro service.WebSocket.Socket 等多种开发模式.短小而精悍! Solon Cloud 是一系列的接口标准和配置规范,算是 Solon 的分布式开发套件方案. 快速了解Solon的材料: <Solon 特性简集,相较于 Springboot 有什么区别?> <Solon Cloud 分布式服务开发套…
Solon 是一个轻量的Java基础开发框架.强调,克制 + 简洁 + 开放的原则:力求,更小.更快.更自由的体验.支持:RPC.REST API.MVC.Job.Micro service.WebSocket.Socket 等多种开发模式.短小而精悍! Solon Cloud 是一系列的接口标准和配置规范,算是 Solon 的分布式开发套件方案. 快速了解Solon的材料: <Solon 特性简集,相较于 Springboot 有什么区别?> <Solon Cloud 分布式服务开发套…
Solon 是一个轻量的Java基础开发框架.强调,克制 + 简洁 + 开放的原则:力求,更小.更快.更自由的体验.支持:RPC.REST API.MVC.Job.Micro service.WebSocket.Socket 等多种开发模式.短小而精悍! Solon Cloud 是一系列的接口标准和配置规范,算是 Solon 的分布式开发套件方案. 快速了解Solon的材料: <Solon 特性简集,相较于 Springboot 有什么区别?> <Solon Cloud 分布式服务开发套…
Solon 是一个轻量的Java基础开发框架.强调,克制 + 简洁 + 开放的原则:力求,更小.更快.更自由的体验.支持:RPC.REST API.MVC.Job.Micro service.WebSocket.Socket 等多种开发模式.短小而精悍! Solon Cloud 是一系列的接口标准和配置规范,算是 Solon 的分布式开发套件方案. 快速了解Solon的材料: <Solon 特性简集,相较于 Springboot 有什么区别?> <Solon Cloud 分布式服务开发套…
Snack3 是一个轻量的 JSON + Jsonpath 框架. 借鉴了 Javascript 所有变量由 var 申明,及 Xml dom 一切都是 Node 的设计.其下一切数据都以ONode表示,ONode也即 One node 之意,代表任何类型,也可以转换为任何类型. 强调文档树的操控和构建能力 做为中间媒体,方便不同格式互转 高性能Json path查询(兼容性和性能很赞) 支持序列化.反序列化 基于 无参构造函数 + 字段 操作实现(反序列化时不会有触发危险动作的风险) <dep…
转发一篇尤老师对vue.js的介绍,了解vue.js的来龙去脉.不过现在已经是2.0了,也有添加一些新的东西,当然有些东西也改了. Vue.js:轻量高效的前端组件化方案 Vue.js 是我在2014年2月开源的一个前端开发库,通过简洁的 API 提供高效的数据绑定和灵活的组件系统.在前端纷繁复杂的生态中,Vue.js有幸受到一定程度的关注,目前在 GitHub上已经有5000+的star.本文将从各方面对Vue.js做一个深入的介绍. 开发初衷 2013年末,我还在Google Creativ…
基于netty轻量的高性能分布式RPC服务框架forest<上篇> 文章已经简单介绍了forest的快速入门,本文旨在介绍forest用户指南. 基本介绍 Forest是一套基于java开发的RPC框架,除了常规的点对点调用外,Motan还提供服务治理功能,包括服务节点的自动发现.摘除.高可用和负载均衡等. 架构概述 Forest中分为服务提供方(RPC Server),服务调用方(RPC Client)和服务注册中心(Registry)三个角色. Server提供服务,向Registry注册…
工作几年,用过不不少RPC框架,也算是读过一些RPC源码.之前也撸过几次RPC框架,但是不断的被自己否定,最近终于又撸了一个,希望能够不断迭代出自己喜欢的样子. 顺便也记录一下撸RPC的过程,一来作为总结和回顾,二来算是一种推广. 首先,当然是推广:forest  基于netty轻量的高性能分布式RPC服务框架. 既然是RPC框架,那么首先都弄清楚RPC是什么? 1.如何用通俗的语言解释一下RPC呢? RPC(Remote Procedure Call Protocol)--远程过程调用协议,它…
摘要:Vue.js通过简洁的API提供高效的数据绑定和灵活的组件系统.在前端纷繁复杂的生态中,Vue.js有幸受到一定程度的关注,目前在GitHub上已经有5000+的star.本文将从各方面对Vue.js做一个深入的介绍. Vue.js 是我在2014年2月开源的一个前端开发库,通过简洁的 API 提供高效的数据绑定和灵活的组件系统.在前端纷繁复杂的生态中,Vue.js有幸受到一定程度的关注,目前在 GitHub上已经有5000+的star.本文将从各方面对Vue.js做一个深入的介绍. 开发…
背景 互联网产品有一个特点,就是不停的升级,升级,再升级.一般采用敏捷开发的团队,基本上保持每周一次的发布频率,系统升级总是伴随着风险,新旧版本兼容的风险,用户使用习惯突然改变而造成用户流失的风险,系统down机的风险.....为了避免这些风险,很多产品都采用了灰度发布的策略,其主要思想就是把影响集中到一个点,然后再发散到一个面,出现意外情况后很容易就回退. 目前产品有新版本,release测试通过以后,直接放到更新服务器上,做全量用户推送.当发现新版本存在测试未覆盖到的问题时,造成的影响面较大…
什么是灰度发布,其要点有哪些? 最近跟几个聊的来的同行来了一次说聚就聚的晚餐,聊了一下最近的工作情况如何以及未来规划等等,酒足饭饱后我们聊了一个话题“灰度发布”. 因为笔者所负责的产品还没有达到他们产品用户的量级上(最低的都在1千万+),也就谈不上灰度发布这一环节,所以只有听的份. 虽然笔者暂时没有涉及到,但在工作中也听过关于灰度发布的一些信息,只不过这一次听他们几个交谈后更是增长了不少知识,为了让自己更加的了解这一个“新”概念,回到住处就在网上慢慢的“啃”起来,下面则是我对“灰度发布”的理解,…
摘要:Vue.js通过简洁的API提供高效的数据绑定和灵活的组件系统.在前端纷繁复杂的生态中,Vue.js有幸受到一定程度的关注,目前在GitHub上已经有5000+的star.本文将从各方面对Vue.js做一个深入的介绍. Vue.js 是我在2014年2月开源的一个前端开发库,通过简洁的 API 提供高效的数据绑定和灵活的组件系统.在前端纷繁复杂的生态中,Vue.js有幸受到一定程度的关注,目前在 GitHub上已经有5000+的star.本文将从各方面对Vue.js做一个深入的介绍. 开发…
jQuery LightGallery是一个轻量级的,可定制的,模块化的,响应式的 jQuery 相册插件.它采用 CSS 来实现图像和视频的大小调整.因此,这将是非常灵活的,并且比使用 JavaScript 方法相当快. Lightgallery 自带几个内置模块,如缩略图,全屏,变焦等,很容易地创建你自己的模块. 马上去试试 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果[附源码] 分享35个让人惊讶的 CSS3 动画效果演示 十分惊艳的8个 HTML5 & JavaScri…
Furatto 是一个基于 Bootstrap & Foundation 的前端开发框架,用于快速开发网站.这个框架采用流行的扁平化设计和响应式设计.除了布局和网格之外,所有的主要元素都有预定义的样式,例如按,表格,表单等,而且还有各种各样的 JavaScript 组件,像模态弹窗,工具提示等等. 您可能感兴趣的相关文章 zoom.js:一款效果很独特的页面内容缩放插件 OverAPI.com – 史上最全开发人员在线速查手册 -prefix-free:帮你从 CSS 前缀的地狱中解脱出来 De…
继上一版本V1.3版本发布到现在,时隔N天了:[V1.3版本开源见:CYQ.Data 轻量数据层之路 华丽V1.3版本 框架开源] N天的时间,根据各路网友的反映及自身的想法,继续修改优化着本框架,力求让大伙相对满意: 对于:bug反馈.优化建议.及最新框架版本下载见:CYQ.Data 轻量数据层之路 bug反馈/优化建议/框架下载 升级说明: 本次升级只是针对易用性增加功能或优化代码及方法,并未发现V1.3版本存在任何bug, 因此,对于V1.3版本,大伙可放心使用,同时也已开放源码. 若对于…
Shouldly是一个轻量的断言(Assertion)框架,用于补充.NET框架下的测试工具.Shouldly将焦点放在当断言失败时如何简单精准的给出很好的错误信息. Shouldly在GitHub的开源地址:https://github.com/shouldly/shouldly Shouldly的官方文档:http://docs.shouldly-lib.net/ 为什么要Shouldly? 我们知道通常测试代码中一个断言是这样写的: Assert.That(contestant.Point…
[转] 大神真面目 稀土掘金,这是一个针对技术开发者的一个应用,你可以在掘金上获取最新最优质的技术干货,不仅仅是Android知识.前端.后端以至于产品和设计都有涉猎,想成为全栈工程师的朋友不要错过! 编辑推荐: 做Android应用开发的同学们相信对“缓存”这个词不陌生,缓存可能有多方面的概念,这里大概列举下程序开发的缓存大概有哪些: 1.服务端控制缓存 如volley请求库,便是通过服务端的“Cache-Control”和“max-age”来告诉客户端有没有缓存以及缓存的时间,也是推荐的使用…
OWIN轻量型框架介绍 阅读目录 引言 框架的特色 如何启动 各项功能 静态路由的3种写法 伪静态路由的支持 处理Form表单提交的文件 流式处理Post请求的数据 多种请求类型自动识别 响应处理 请求响应上下文 自定义默认处理函数 内置各种便捷函数 复合类型的请求处理 框架的扩展 静态内容的支持 跨域Post的支持 基础类型继承灵活处理 尾声 回到顶部 引言 什么是OWIN,我就不介绍了,请自行搜索,这里主要是介绍自行开发的OWIN框架的特点和用法.由于.NET的web框架都比较庞大,导致性能…
在采购阿里云服务器的时候,我们会发现阿里云服务器分好多种,如GPU服务器.ECS服务器.轻量应用型服务器等.ECS服务器和轻量应用型服务器很多人无法搞明白其中的差别,个人的观点是轻量应用型服务器适合入门级用户,并且一般配置会稍微低一点,但价格也相对便宜. 看下官方对于ECS服务器和轻量应用型服务器的介绍. 轻量应用服务器:面向单机应用场景的新一代计算服务,提供应用一键部署.一站式域名解析.网站发布.安全.运维.应用管理等服务.极大地优化了搭建简单应用的体验,降低了入门级用户使用云计算产品的门槛.…
下面这个列表中的免费 JavaScript 插件都是今年发布的,没有臃肿的一体化的框架,它们提供轻量级的解决方案,帮助 Web 开发过程更容易和更快.提供的插件可以创建滑块.响应式菜单.模态窗口.相册和许多其他常见的组件. 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果[附源码] 分享35个让人惊讶的 CSS3 动画效果演示 十分惊艳的8个 HTML5 & JavaScript 特效 Web 开发中很实用的10个效果[源码下载] 12款经典的白富美型 jQuery 图片轮播插件…
背景 写blog虽然经历了N多不同时代的产品,恒久不变的始终是自己无人问津的网站.虽然没几个人看,还是隔断时间就要折腾一下.从最开始的wordpress,到tale,到现在的hexo,网站变得越来越简单,越来越轻量级,这里主要说说hexo的使用. hexo介绍 主页: https://hexo.io/zh-cn/ 主页中有非常详细的介绍,主页中有介绍内容我这里就不赘述了,这里主要说说主页中没有详细说明内容. hexo 可以理解为是基于node.js制作的一个博客工具,不是我们理解的一个开源的博客…
出处:https://www.baidu.com/link?url=QjboallwNm_jxcL3fHG57wEakiBfAs_3-TChTGu1eBXstlHEsGBc-NDA7AKTqsiroBx9a8OMoITgM5mbKAoiSqwMCLj5LzrjcAew2sBt9zO&wd=&eqid=91b4282c0000c567000000045be3a121 在有关微服务.DevOps.Cloud-native.系统部署等的讨论中,蓝绿部署.A/B 测试.灰度发布.滚动发布.红黑部署…
分表:垂直拆分.水平拆分 垂直拆分:根据业务将一个表拆分为多个表. 如:将经常和不常访问的字段拆分至不同的表中.由于与业务关系密切,目前的分库分表产品均使用水平拆分方式. 水平拆分:根据分片算法将一个表拆分为多个表. 如:按照ID的最后一位以3取余,尾数是1的放入第1个库(表),尾数是2的放入第2个库(表)等. 解决的问题:单纯的分表可以解决数据量过大导致检索变慢的问题. 分表无法解决过多并发请求访问同一个库,导致数据库响应变慢的问题.所以通常水平拆分都至少要采用分库的方式,用于一并解决大数据量…
原文链接:http://www.open-open.com/lib/view/open1439889185239.html ABTesingGateway 是一个可以动态设置分流策略的灰度发布系统,工作在7层,基于tengine,采用ngx-lua开发,使用 redis 作为分流策略数据库,可以实现动态调度功能. nginx是目前使用较多的7层服务器,可以实现高性能的转发和响应:ABTestingGateway 是在 nginx 转发的框架内,在转向 upstream 前,根据 用户请求特征 和…
一.简介 faked 是一个在前端开发中用于 mock 服务端接口的模块,轻量简单,无需要在本地启动 Server 也无需其它更多的资源,仅在浏览器中完成「请求拉截」,配合完整的「路由系统」轻而易举的 mock 后端 API. GitHub Rep 地址:https://github.com/Houfeng/faked 二.安装 faked 有两种可选安装方式,你可以通过传统的 sciprt 方式引入 faked,如果你采用了 CommonJs 或 ES6 Modules 模块方案,也可通过安装…