设计一个完善可用的服务框架-编程思维

一个完善可用的RPC服务框架,需要包含以下几点: 框架组成 具体功能说明 服务注册中心 服务框架基础知识 管理端 接口管理+配置中心 统一的RPC框架 监控中心+分布式追踪+服务治理+网关   管理端 1、接口管理 提供统一的接口管理和查询入口,比如公共wiki或者类似swagger之类的系统。 功能:定义接口,包括接口描述、方法定义、字段定义甚至接口支持的最大并发数等信

蛮力发布、金丝雀发布、滚动发布、蓝绿发布的差异-编程思维

作为技术人员,大家可能听说过“滚动发布”和“蓝绿发布”等术语,但是很多人并不清楚这些术语背后的原理。本文试图总结当前主流的发布策略,每个的优劣,适用性,让开发人员特别是架构师对现代发布技术有一个更为清晰全面的认识,让大家能够根据自己的企业上下文,对发布策略做出正确的选型和实践。 一、单服务器组发布 先解释下单服务器组的概念,早先我们机器资源比较紧张,不像现在云计算和虚拟化(包括容器技术)这么发达

lb服务:硬件如何被软件取代(上)-编程思维

【摘要】 大业务上云,难免要用到LB。可是,您是否了解LB的来龙去脉?本文浅谈一下LB,从硬件走到软件,他们经历了什么转变。 大业务上云,难免要用到LB。可是,您是否了解LB的来龙去脉?本文浅谈一下LB,从硬件走到软件,他们经历了什么转变。 几年前,刚接触网络的时候,就听过一个称呼:四层交换。 四层交换,顾名思义,就是基于传输层的TCP/UDP协议进行数据交换的,利用端口信息区分报文,可进

lb服务,软lb的服务能力(下)-编程思维

【摘要】 现在常用的LB软件,主要是LVS和nginx。普通情况下,LVS主要负责四层负载均衡,nginx负责七层。当然,业界也有友商基于LVS做出了七层负载均衡。本篇主要讲一下LVS的工作模式及各种模式的缺陷。并试图描述一下ELB服务的方案。 现在常用的LB软件,主要是LVS和nginx。普通情况下,LVS主要负责四层负载均衡,nginx负责七层。当然,业界也有友商基于LVS做出了七层负载

接手了一个外包开发的项目,我感觉我的头快要裂开了~-编程思维

嗨,大家好,我是飘渺。 最近,我和小伙伴一起接手了一个由外包团队开发的微服务项目,这个项目采用了当前流行的Spring Cloud Alibaba微服务架构,并且是基于一个“大名鼎鼎”的微服务开源脚手架(附带着模块代码截图,相信很多同学一看就能认出来)。然而,在这段时间里,我受到了来自"外包"和"微服务"这双重debuff的折磨。 今天,我想和大家分享一下我在这几天中遇到的问题。希望这几个问题

使用p6spy格式化日志输出_java日知录-编程思维

  P6Spy 是针对数据库访问操作的动态监测框架(为开源项目,项目首 页:www.p6spy.com)它使得数据库数据可无缝截取和操纵,而不必对现有应用程序的代码作任何修改。P6Spy 分发包包括P6Log,它是一 个可记录任何 Java 应用程序的所有JDBC事务的应用程序。其配置完成使用时,可以进行数据访问性能的监测。      我们最需要的功能,查看sql语句,不是预编译的带问号的哦,而

spring集成javamail并利用线程池发送邮件_java日知录-编程思维

  我们系统存在大量发送邮件的需求,项目使用的是Spring框架而JavaMail也能很好的跟Spring进行集成,由于发送邮件最好还是使用异步进行发送,所以这里就采用线程池+JavaMail进行邮件发送,下面看具体代码实现:   Step1、引入JavaMail <mail.version>1.4.7</mail.version> <dependency>

如何分析、调试微服务系统的故障?_小强找bug-编程思维

基于研究论文《Fault Analysis and Debugging of Microservice Systems: Industrial Survey, Benchmark System, and Empirical Study》(作者:周翔、彭鑫、谢涛、孙军、冀超、李文海、丁丹)形成本文。该论文由复旦大学计算机科学技术学院彭鑫教授领导的智能化软件开发 CodeWisdom 团队与北京

利用 redis 锁解决高并发问题_小强找bug-编程思维

这里我们主要利用 Redis 的 setnx 的命令来处理高并发。   setnx 有两个参数。第一个参数表示键。第二个参数表示值。如果当前键不存在,那么会插入当前键,将第二个参数做为值。返回 1。如果当前键存在,那么会返回 0 。   创建库存表 CREATE TABLE `storage` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT,

架构师须知道的架构发展过程及趋势_小强找bug-编程思维

导读ID:TOP100case 导语:软件架构是软件的生命,活力和骨架,它随着时间而成长和演化,不变的软件架构是一具僵尸而已。《设计之美》提到,无情的重构,架构就会产生。而这种架构成长的动力在哪里?其动力就在于业务的增长,一切不为业务服务的架构演化都是耍流氓! 本文将从作者多年的实践经验出发,解读什么是架构和业务,微服务架构,以及架构演化如何促进业务增长,文章还阐述了架构师这一角色如何处理复杂问

淘宝hsf 框架使用 总结_小学生ii-编程思维

@(JAVA开发) 淘宝HSF 框架使用 总结 随着网站访问量增加,仅仅靠增加机器已不能满足系统的要求,于是需要对应用系统进行垂直拆分和水平拆分。在拆分之后,各个被拆分的模块如何通信?如何保证性能?如何保证各个应用都以同样的方式交互?这就需要一种负责各个拆分的模块间通信的高性能服务框架(HSF) 这三个单词分别是 high-speed-framework 翻译过来的话因该是高速框架之类的,但

hsf服务的开发与使用_小学生ii-编程思维

转载:http://www.cnblogs.com/cloudml/p/4675705.html#undefined 1.HSF服务的开发 1) 基于Maven创建一个web工程HSFService,如下图,其他的可以自定义。 2)创建好好在src/main目录下创建一个java目录,并将其设置为sources folder,如下图所示: 3) 配置项目的pom.xml,如下 1 &l

分布式服务框架选型:面对dubbo,阿里巴巴为什么选择了hsf?_小学生ii-编程思维

转载:http://www.sohu.com/a/141490021_268033 阿里巴巴集团内部使用的分布式服务框架 HSF(High Speed Framework,也有人戏称“好舒服”)已经被很多技术爱好者所熟知,目前已经支撑着近 2000 多个应用的运行。 其对应早期的开源项目 Dubbo(因为某些原因,Dubbo 项目在 2012 年年底,阿里巴巴就停止了对此开源项目的更新),则更是

分布式服务框架hsf学习_小学生ii-编程思维

转载:http://googi.iteye.com/blog/1884754 HSF提供的是分布式服务开发框架,taobao内部使用较多,总体来说其提供的功能及一些实现基础:1.标准Service方式的RPC  1)、Service定义:基于OSGI的Service定义方式  2)、TCP/IP通信:   IO方式:nio,采用mina框架   连接方式:长连接   服务器端有限定大小的连接池 

hsf和dubbo有什么区别_小学生ii-编程思维

  一、 以下摘录自企业级分布式应用服务EDAS官网段落 RPC服务 提供对Dubbo和HSF两个RPC框架的支持。阿里巴巴第一代RPC框架Dubbo是国内第一款成熟的商用级RPC框架,已于2011年正式对外开源,目前已发展成为国内开源价值最高、用户使用规模最大的开源软件之一。最新一代RPC框架HSF,全称High Speed Framework,也叫"好舒服","很舒服"框架,是阿里内部对这一

阿里巴巴为什么主推hsf?比dubbo有哪些优势?_小学生ii-编程思维

作者:匿名用户链接:https://www.zhihu.com/question/39560697/answer/187538165来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 首先现在Netty/Grizzly/xio/Mina那么成熟,基于NIO框架写个RPC通讯框架也不是那么复杂么。 其次Dubbo应该是定位为RPC框架, 在Remoting层支持net

架构设计方法论-编程思维

本系列文章教你怎么样成为一名架构师,本篇文章目的是让你掌握一套架构方法论,掌握规范的设计方法,设计出更好、更稳定的架构设计。 概念解析 在文章开始之前需要先理解几个概念: 什么是方法论? 我们拿到一个输入,然后根据这个输入预期一个输出,把中间这个过程描述出来就是方法论。 所以我们本篇讲的架构师方法论就是架构师先拿到经过需求分析出来的输入,然后完成架构设计,这个过程就是架构设计方法论。 什么是设

SpringBoot开发秘籍 - 集成Graphql Query-编程思维

概述 REST作为一种现代网络应用非常流行的软件架构风格受到广大WEB开发者的喜爱,在目前软件架构设计模式中随处可见REST的身影,但是随着REST的流行与发展,它的一个最大的缺点开始暴露出来: 在很多时候客户端需要的数据往往在不同的地方具有相似性,但却又不尽相同。 如同样的用户信息,在有的场景下前端只需要用户的简要信息(名称、头像),在其他场景下又需要用户的详细信息。当这样的相似但又不同的地

架构师之路 - 业务领域建模-编程思维

领域模型的概念及作用 领域模型是对领域内的概念类或现实世界中对象的可视化表示。又称概念模型、领域对象模型、分析对象模型。它专注于分析问题领域本身,发掘重要的业务领域概念,并建立业务领域概念之间的关系。概念比较深奥,其实说白了就是我们把基于对业务的理解画成一个类图,并画出这些类之间的关系(面向对象)。 领域模型可以整理业务中的概念以及关系,帮助团队中的成员对业务的理解保持一致,往后可以指导数据库设

基于SkyWalking的分布式跟踪系统 - 环境搭建-编程思维

前面的几篇文章我们聊了基于Metrics的监控Prometheus,利用Prometheus和Grafana可以全方位监控你的服务器及应用的性能指标,在出现异常时利用Alertmanager告警及时通知运维处理。今天我们聊聊基于Trace的分布式跟踪系统 - SkyWalking 初识SkyWalking 应用场景 随着微服务架构的流行,一些微服务架构下的问题也会越来越突出,比如一个请求会涉及多