hsf

HSF从部署到开发到原理分析

不羁的心 提交于 2020-02-19 08:28:19
1.搭建HSF环境 https://help.aliyun.com/document_detail/44158.html?spm=a2c4g.11186623.6.674.13c248fahbl8fU 2.开发HSF服务 https://help.aliyun.com/document_detail/85329.html?spm=a2c4g.11186623.6.679.16ba7549KvzWL4 3.HSF高级特性 隐式传参、异步调用、泛化调用、调用链路Filter扩展 https://help.aliyun.com/document_detail/44890.html?spm=a2c4g.11186623.6.680.1631b8e7HoWOB6 4.HSF源码剖析 https://blog.csdn.net/SincereXing/article/details/79232025 5.HSF的原理分析 https://blog.csdn.net/qq_16681169/article/details/72512819 来源: https://www.cnblogs.com/linshuqin/p/9947465.html

Java之HSF搭建demo

谁都会走 提交于 2020-01-30 09:34:27
1、去阿里云官网下载Demo edas-app-demo.zip 2、下载Ali-Tomcat和Pandora,注意红色下面字体    a)下载 Ali-Tomcat,保存后解压至相应的目录(如:d:\work\tomcat\)。 b)下载 Pandora 容器,保存后将内容解压至上述保存的 Ali-Tomcat 的 deploy 目录(d:\work\tomcat\deploy)下 3、下载轻量版EDAS(下载地址:https://help.aliyun.com/document_detail/44163.html),和配置host文件    打开host文件,C:\Windows\System32\drivers\etc,编辑 最后一行增加,192.168.1.24是自己电脑ip的,域名是唯一,固定的 192.168.1.24 jmenv.tbsite.net 4、cd到edas-lite-configcenter的bin目录下,运行startup.bat 5、在浏览器查看时候启动本地edas ,localhost:8080 .   如果出现diamond,说明host文件配置成功,没看到diamond,查看host文件是否配置错误 6、打开idea,加载edas-app-demo为maven项目。 1、使用aliTomcat 配置为: -Dfile.encoding=UTF

HTTP & RPC & Dubbo & hsf & Spring-cloud 图解比较

允我心安 提交于 2019-11-28 03:26:37
前言 HSF是一个分布式的远程服务调用框架,其实我更喜欢把分布式几个字去掉,因为HSF本身并不是一个单独的服务(指一个进程),他是附属在你的应用里的一个组件,一个RPC组件(远程过程调用——Remote Procedure Call,是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发分布式应用更加容易),当然HSF完全的内容肯定不止这些。 ​ HSF(High-speed Service Framework),高速服务框架,是阿里系主要采用的服务框架,其目的是作为桥梁联通不同的业务系统,解耦系统之间的实现依赖。其高速体现在底层的非阻塞I/O以及优秀的序列化机制上,实现了同步和异步调用方式,并且有一套软负载体系,实现分布式应用。 RPC 我们先来看一张图: 很多同学看了这张图可能会觉得这跟http的过程有什么区别? 有这么一个场景(本来想举一个便具体业务的例子,想想还是已技术实现相关的比较好),监控平台:监控所有主机的状态,这时候每台主机上有一个agent,每个几秒向监控平台上传一次数据(主机内存使用率、硬盘状况、CPU、load、进程信息等等)。 可能在开发的时候最简单的方式就是监控平台有一个http接口,agent每隔几秒请求一次,能够满足需求,但是如果主机数快速增长了很多、监控项越来越多

HSF的原理分析

百般思念 提交于 2019-11-28 00:07:53
一.HSF的基本概念 HSF全称为High-Speed Service Framework,旨在为淘系的应用提供一个分布式的服务框架,HSF从分布式应用层面以及统一的发布/调用方式层面为大家提供支持,从而可以很容易的开发分布式的应用以及提供或使用公用功能模块,而不用考虑分布式领域中的各种细节技术,例如远程通讯、性能损耗、调用的透明化、同步/异步调用方式的实现等等问题。 二.知识准备 通过以上的说明,大致了解了一下RPC与HSF的总体架构,但是总体架构离具体实现还想差很多,有些知识准备还是很有必要的。 1.对象的序列化 对象的序列化过程在RPC过程中是很重要的一个环节,序列化对于远程调用的响应速度、吞吐量、网络带宽消耗等同样也起着至关重要的作用。在HSF1.0时只支持两种序列化方式:java 和 hessian,在HSF2.0之后就支持了五种序列化方式:java、hessian、hessian2、json、kyro。但是目前版本中常用的序列化方式还是java 和 hessian两种。如果想细致的了解也可以多做了解。 2.动态代理 对于消费方来说,所存在的只有一个接口,虽然底层的实现原理我们知道,但是为了在使用时的高度透明,在JAVA语言层面上的表现形式则是通过动态代理的方式实现的,很多的逻辑都在InvocationHandler 中处理的。关于如何实现动态代理

闲鱼在ServiceMesh的探索和实践

只谈情不闲聊 提交于 2019-11-26 19:19:42
  背景:      在阿里服务端开发以Java为主的大背景下,其他异构语言业务如何调用现有Java服务,如何与集团中间件打通,就成为使用非Java语言团队必须要解决的首要问题。      已有方案问题:      在ServiceMesh方案成熟之前,我们采用:通过Dart C/C++扩展方式调用各中间件客户端SO库(类JNI)。该方案在业务初期很好的解决了Dart服务端生态建设问题。但是该方案还存在以下几个问题:      运维耦合度高。业务代码和客户端SO库代码打包在一起,运行在同一进程,一旦微服务框架需要升级,业务代码也需要维护和重启。      复杂性:进程内的多个语言环境,跨语言数据表示和传输等问题,都会增加系统的复杂性,降低原有服务的性能。      接入成本高      新功能滞后      ServiceMesh方案:      由于现有方案存在的一些问题,我们转向ServiceMesh寻找解决问题的思路      如上图所示:与目前比较常见的微服务框架相比,ServiceMesh把微服务客户端核心功能独立出来,并作为一个独立Proxy进程部署在每一个主机上,业务进程通过Proxy进程与外界通信。这个独立的Proxy进程就是ServiceMesh的核心: SideCar。      业务进程和SideCar之间最常见的两种通信方案:1.