作者:404,转载请注明出处.欢迎关注公众号:404P. SOFA是蚂蚁自研的一套金融级分布式中间件,目前正在逐步向业界开源.SOFA的全称有两个,最早是Service Oriented Fabric Architecture,即面向服务的架构.随着2018年的开源,其全称改为Scalable Open Financial Architecture,即可扩展的开源金融架构. SOFA技术栈包含了微服务架构体系的各类组件,主要包括RPC框架,服务注册中心,分布式链路追踪,Metrics监控度量等.…
作者:404,公众号404P,转载请注明出处. 前言 SOFABoot是蚂蚁金服的开源框架,在原有Spring Boot的基础上增强了不少能力,例如Readiness Check,类隔离,日志空间隔离等能力.除此之外,SOFABoot还可以方便的整合SOFA技术栈所包含的各类中间件.如果想要对SOFABoot有体感,可以参考这里快速构建一个SOFABoot的应用. 本文来聊聊SOFABoot新增的Readiness健康检查机制.主要内容有以下几点: liveness 和 readiness 的含…
我计划在后续的一段时间内,写一系列关于java 9的文章,虽然java 9 不像Java 8或者Java 11那样的核心java版本,但是还是有很多的特性值得关注.期待您能关注我,我将把java 9 写成一系列的文章,大概十篇左右,本文是第8篇. java9系列文章访问地址 在Java 9版本中Java 语言引入了一个非常重要的概念:模块(module).如果对javascript代码模块化管理比较熟悉的小伙伴,看到Java 9的模块化管理,应该有似曾相识的感觉. 一.什么是Java modul…
在前面两张简单介绍了百度地图API的基础知识和使用之后,我们来分析一下百度地图API的基本架构,了解一下基本架构可以帮助我们更清晰的了解API的功能和调用过程,也就可以帮助我们在实际开发中可以更方便的组织自己的代码.因为百度地图API内部有很多函数都是异步执行的,我们大家都知道js是单线程程序,所有异步代码的执行都必须在同步代码执行之后的.所以如果我们自己写代码进行API开发的时候,如果在同步代码中使用一些函数报错 undefined的话,很有可能就是API内部的异步代码未执行完造成的.这样的情…
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Article 前言 说到 Python 的单元测试框架,想必接触过 Python 的朋友脑袋里第一个想到的就是 unittest. 的确,作为 Python 的标准库,它很优秀,并被广泛用于各个项目.但你知道吗?其实在 Python 众多项目中,主流的单元测试框架远不止这一个. 本系列文章将为大家介绍目前流行的 P…
原文链接 小寒的博客,带你理解更深的世界 面向对象,模块化和MVC 面向对象是指把写程序映射到现实生活,从而一来逻辑性更强,更容易写好代码,二来代码很贴切,通俗易懂,更被人理解,三来更加容易拓展和管理代码. 我们的代码设计应该有很多人,事物和场景,人是管理员,事物是数据库,场景就是业务. 面向对象 写代码就像在模拟现实的生活的处理公务,比如我们可以抽象出一些人帮我们来干活. 文章管理员,负责文章的CRUD,文章分类的CRUD 用户管理员,oauth passport和CRUD 邮件管理员,sen…
场景实战Demo使用指引 Quickstart 快速开始 Demo说明 模块说明 使用说明 情景一环境部署 工作原理 情景二环境部署 工作原理 场景实战Demo使用指引 个人之前学习过程中对JarsLink模块化场景使用做了一些Demo放在github上,用兴趣的同学可以了解下 Quickstart 快速开始 git clone https://github.com/Evan43789596/jarslink-in-action.git cd jarslink-in-action/module-…
作者:暴王 个人博客:http://www.boydwang.com/2017/12/net-core-in-memory-cache/ 这两天在看.net core的in memory cache,这里记录一下用法,主要涉及MemoryCache的Get/Set/Expire/Flush. 首先我们先用dotnet命令创建一个mvc的项目,这里我们将使用postman来请求server, dotnet new MVC 因为我们要用到 Microsoft.Extensions.Caching.M…
导读:GIAC大会期间,蚂蚁金服杨冰,黄挺等讲师面向华南技术社区做了<数字金融时代的云原生架构转型路径>和<从传统服务化走向Service Mesh>等演讲,就此机会,高可用架构社区编辑魏佳和王渊命对蚂蚁金服技术团队的杨冰和黄挺进行的访谈.访谈内容涉及到中间件,微服务,Service Mesh,OpenSource等多个方面,让我们大家一起看看蚂蚁金服技术专家对这些话题的独特见解. 魏佳:欢迎两位,我是高可用架构的编辑魏佳,这位是王渊命.今天很有幸邀请到两位在演讲之后接受我们的采访…
ylbtech-Train-Alypay-Cloud:分布式微服务中间件sofa 开发培训(第二次) 1.返回顶部 1. 这是本次培训的内容,望各位提前配好环境.工具.2.6-2.7 我们在环球金融8楼等着各位! 尊敬的合作伙伴: 蚂蚁金服计划在2018年2月6日到2月7日 在北京 环球金融中心举行  蚂蚁分布式微服务中间件sofa 开发培训:培训价值为 RMB 10万/场,现阶段为促进合作伙伴的快速赋能,本次免费.培训结束后会安排认证考试.诚挚的邀请贵司派人参加. SOFA(Scalable…
前言 SOFA-RPC 支持根据权重对服务进行预热功能,具体地址:预热权重. 引用官方文档: 预热权重功能让客户端机器能够根据服务端的相应权重进行流量的分发.该功能也常被用于集群内少数机器的启动场景.利用流量权重功能在短时间内对服务端机器进行预热,然后再接收正常的流量比重. 运行机制如下: 1.服务端服务在启动时会将自身的预热时间,预热期内权重,预热完成后的正常权重推送给服务注册中心.如上图 ServiceB 指向 Service Registry . 2.客户端在引用服务的时候会获得每个服务实…
前言 在 SOFA-RPC 的官方介绍里,介绍了自定义线程池,可以为指定服务设置一个独立的业务线程池,和 SOFARPC 自身的业务线程池是隔离的.多个服务可以共用一个独立的线程池. API使用方式如下: UserThreadPool threadPool = new UserThreadPool(); threadPool.setCorePoolSize(10); threadPool.setMaximumPoolSize(100); threadPool.setKeepAliveTime(2…
[从源码学设计]蚂蚁金服SOFARegistry之存储结构 目录 [从源码学设计]蚂蚁金服SOFARegistry之存储结构 0x00 摘要 0x01 业务范畴 1.1 缓存 1.2 DataServer 分片机制 1.3 服务模型 1.3.1 服务发布模型(PublisherRegister) 1.3.2 服务订阅模型(SubscriberRegister) 1.3.3 dataInfoId 1.3.4 版本号 0x02 基本概念 2.1 物理机房DataCenter 2.2 Server节点…
一.SOFABoot 是什么鬼? 说到 SOFABoot,不得不先说下 SOFARPC 框架,SOFARPC 也是大名远扬,最早起源于阿里淘宝 HSF 框架,现在是蚂蚁金服开源的一款高性能.高可扩展性.生产级别的 RPC 框架,在蚂蚁金服,SOFARPC 框架已经使用了十多年了,并且已经历经了五代. SOFARPC 开源地址: https://github.com/sofastack/sofa-rpc 栈长当初第一次看到 SOFABoot 这个框架的时候,心里想着,难道是 SOFABoot =…
[从源码学设计]蚂蚁金服SOFARegistry之服务注册和操作日志 目录 [从源码学设计]蚂蚁金服SOFARegistry之服务注册和操作日志 0x00 摘要 0x01 整体业务流程 1.1 服务注册过程 1.2 数据分片 0x02 基础数据结构 2.1 Publisher 2.2 Datum 2.3 DatumCache 2.4 Operator 2.5 Acceptor 2.6 总结 0x03 Datum的来龙去脉 3.1 Session Server 内部 3.2 PublishData…
前言 最近蚂蚁金服开源了分布式框架 SOFA,楼主写了一个 demo,体验了一下 SOFA 的功能,SOFA 完全兼容 SpringBoot(当然 Dubbo 也是可以兼容的). 项目地址:Alipay,该主页有 5 个项目,都是阿里开源的. sofa-boot, sofa-rpc, sofa-bolt, sofa-ark, sofa-rpc-boot-projects. 快速开始 实际上,SOFA-RPC 的官方文档已经详细介绍了如何使用这个 RPC 框架,基于 Netty 的长连接.类似 D…
在用一项技术前,一定要知道它的优点和缺点,它的优点是否对你有足够的吸引力,它的缺点不足你是否有办法补上.黄挺在CNUTCon全球运维大会上的分享也很不错. 黄挺,蚂蚁金服高级技术专家,蚂蚁金服分布式架构 SOFA 的开源负责人.目前在蚂蚁金服中间件团队负责应用框架与服务化相关的工作. 大家好,我是来自于蚂蚁金服的黄挺,花名鲁直,目前在蚂蚁金服负责微服务团队,也是 SOFA 开源的负责人. 来到这个场子的朋友们肯定都知道,Service Mesh 在过去一两年之中迅速成长为社区中非常热门的话题,几…
干货 | 蚂蚁金服是如何实现经典服务化架构往 Service Mesh 方向的演进的? https://www.sohu.com/a/235575064_99940985 干货 | 蚂蚁金服是如何实现经典服务化架构往 Service Mesh 方向的演进的? 2018-06-13 17:29蚂蚁金服/操作系统 蚂蚁金服在服务化上面已经经过多年的沉淀,支撑了每年双十一的高峰峰值.Service Mesh 作为微服务的一个新方向,在最近两年成为领域的一个大热点,但是如何从经典服务化架构往 Servi…
上一篇:Vue系列(二):发送Ajax.JSONP请求.Vue生命周期及实例属性和方法.自定义指令与过渡 一. 组件component 1. 什么是组件? 组件(Component)是 Vue.js 最强大的功能之一.组件可以扩展 HTML 元素,封装可重用的代码 组件是自定义元素(对象) 2. 定义组件的方式 方式1:先创建组件构造器,然后由组件构造器创建组件 方式2:直接创建组件 <div id="itany"> <hello></hello>…
小结: 1. 微服务中台不是 /1堆砌技术组件就是中台 /2拥有服务治理就是中台 /3增加部分业务功能就是中台 /4Cloud Native 就是中台 https://mp.weixin.qq.com/s/uuaraAWReOYeZuEJiLs9dw 企业微服务中台落地实践和思想之我见 From  朱德明 InfoQ 4/3 微服务和中台是这几年非常时髦随处可见的词,最先在一批互联网企业中开始谈论和建设,并逐渐的蔓延至一些传统企业和传统的 IT 部门,以至于现在在构建信息系统时,很多企业都在说要…
SOFABoot 和 SOFARPC 都是蚂蚁金服开源的 SOFA 技术栈的开源项目,SOFARPC 只是其 SOFA 技术栈体系(SOFAStack)中的一个 RPC 框架. SOFABoot 也是 SOFA 技术栈体系中一个框架,但和 SOFARPC 没有直接关系,SOFABoot 是一个 Spring Boot 加强版,还提供了方便使用 SOFA 中间件的能力,SOFARPC 只是其中之一而已. ===>SOFABoot 在 Spring Boot 上 1)扩展 Spring Boot 的…
必读的 Android 文章 掘金官方 关注 2017.06.07 13:58* 字数 25218 阅读 8782评论 2喜欢 218 写给 Android 开发者的混淆使用手册 - Android - 掘金本文转自:点击打开链接 毫无疑问,混淆是打包过程中最重要的流程之一,在没有特殊原因的情况下,所有 app 都应该开启混淆. 首先,这里说的的混淆其实是包括了代码压缩.代码混淆以及资源压缩等的优化过程.依靠 ProGuard,混淆流程将主项目以及依赖库中未... 高效Android开发者的工具…
掘金 Android 文章精选合集 掘金官方 关注 2017.07.10 16:42* 字数 175276 阅读 50053评论 13喜欢 669 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友都有过在 Activity 中通过 getWidth() 之类的方法获取 Vi…
这几天离职在家,正好没事可以疯狂的输出一下,本来想写DUBBO的源码解析的,但是发现写DUBBO源码的太多了,所以找一个写的不那么多的框架,所以就选中SOFARPC这个框架了. SOFARPC是蚂蚁金服开源的一个RPC框架,相比DUBBO它没有这么多历史的包袱,代码更加简洁,设计思路更加清晰,更加容易去理解其中的代码. 那么为什么要去重写原生的SPI呢?官方给出了如下解释: 按需加载 可以有别名 可以有优先级进行排序和覆盖 可以控制是否单例 可以在某些场景下使用编码 可以指定扩展配置位置 可以排…
菜鸟智慧新物流核心技术全解析   孟靖 阅读数:63192018 年 12 月 14 日 16:00   2018 年天猫双 11 全球狂欢节已正式落下帷幕,最终成交额定格在 2135 亿元,物流订单总数飙升至 10.42 亿单,再次刷新历史记录.与往年的双 11 不同的是,为解决庞大的包裹量,数字化和精细化成为行业关键词,第十个双 11,是在智能物流骨干网协同下,全行业资源优化的一次大考,和依托 IoT 技术的一场新物流大练兵. 正如菜鸟网络 CTO 谷雪梅在 ArchSummit 2018…
并发这玩意很有用,把自己在网上看过觉得总结的很好的资料分享出来.猛击下面的地址查看吧 java并发编程:线程池的使用说明 java并发编程系列文章 Java并发性和多线程专题 并发工具类 Java 7 并发编程指南中文版 Java 多线程与并发编程 java并发编程 java并发编程系列篇 聊聊并发系列文章 深入jvm锁机制 JVM锁实现探究1:synchronized初探 JVM锁实现探究2:synchronized深探…
作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有,转载请联系作者获得授权.微信小程序正式公测,公测时间:11月3日夜:公告地址:https://mp.weixin.qq.com/cgi-bin/announce?action=getannouncement&key=1478163659&version=14&lang=zh_CN公测配套使用攻略:微信小程序公测接入指南整理了一下…
连接db2数据库时报异常:java.lang.NumberFormatException: For input string: "A" from a DB2 JDBC(JCC) java.lang.NumberFormatException: For input string: "A" at java.lang.NumberFormatException.forInputString(NumberFormatException.jav a:48) at java.l…
--SQL Server2008 程序设计 汇总 GROUP BY ,WITH ROLLUP  WITH CUBE  GROUPING SET(..) /******************************************************************************** *主题:SQL Server2008 程序设计 汇总 group by ,WITH ROLLUP  WITH CUBE *说明:本文是个人学习的一些笔记和个人愚见 *      有很多…
(0)c语言的梦魇:c指针 序 c语言中有一个重点:c指针.它也是一个难点.当然,这是一句废话:重点往往也是难点.在c标准中,对指针的定义是这种: 指针的类型是derived from其他类型,也就是说指针的类型是由它指向的类型决定的: 指针是一种reference类型,即引用类型: c指针似乎非常难理解,以至于有人指出:掌握了c指针,就掌握了c语言的精髓.本系列就来聊聊c指针,要想弄懂c指针.光就指针本身进行理解,还不够. 由于指针的本质就一句话:指针就是地址.这句话大多数学过c语言的人都明白…