写点什么

InfoQ 采访 HTTP/2 的早期采用者 Lawyer.com

2016 年 12 月 18 日

Lawyer.com,一个为客户和律师提供匹配服务的网站,最近宣布他们已开始采用 HTTP/2 协议。这一举措可以让 Lawyer.com 关注页面交付速度,并为客户提供最佳匹配。根据数据分析网站 Alexa 所提供的数据,Lawyer.com 被评为页面交付最快的律师网站。Lawyer.com 还声称自己是第一个接受比特币支付的律师匹配网站。

将律师和潜在客户匹配到一起听起来很简单,但是 Above the Law 网站最近发表的一篇文章则认为:

现实情况是,找到 2 到 3 位合适的律师并将其与 1 位潜在的客户连接起来要比想象中困难的多。客户通常会寻找特定类型的法律服务,包括从集体诉讼到人身伤害的各种类型,寻找的过程会受到地理偏好、成本偏好以及人为因素(不同人对最好律师定义不同)的影响。Lawyer.com 必须考虑所有的因素,从包含 200 多万专业律师的数据库中找到与潜在客户匹配的律师。

InfoQ 采访了 Lawyer.com 的联合创始人、CEO、科技企业家 Gerald Gorman,与其探讨了 Lawyer.com 的技术实现、微服务和轻量级容器的应用情况,Lawyer.com 独特的搜索引擎以及他们对社会化媒体的使用。

InfoQ: Lawyer.com 使用了 HTTP/2 的哪些部分?

Gerald Gorman:Lawyer.com 使用了标准的 LAMP(Linux/Apache/MySQL/PHP)技术栈,同时我们已经在 SSL 上运行了很长一段时间。使用 SSL 之后,通过 LAMP 技术栈能够非常容易地为用户提供基于 HTTP/2 协议的服务。早在一年之前,我们就已经开始努力将平台切换到 SSL 上。在法律行业我们是仅有的两家使用 SSL 的网站之一。现在,该行业里的大部分网站都还没有迁移到 SSL 上,更遑论 HTTP/2 了。我们对速度有非常执着的追求,而 HTTP/2 恰好能让我们在一个开放的管道上非常快速地传输对象。与 HTTP/1.2 相比,HTTP/2 有许多优势,它关注于速度,而这正好满足我们的需求。

InfoQ:Lawyer.com 现在是否在尝试使用响应式系统特性?

Gorman: 我们使用了很多外部组件,当然也包括自己的跨服务(cross-service)组件。但是,在交付页面的时候,如果你依赖于某些第三方异步进程,那么在前 10% 的时间里是很难传输任何页面内容的。为此我们尽了非常大的努力,在服务器上做了大量的工作,以便于摆脱对第三方 API 或者任何其他不确定进程的依赖。例如,连接 Twilio 可能需要 100 毫秒到 1 秒的时间,但是我们并不想由此让整个页面慢哪怕 1 秒。我们曾尝试让所有的工作在内部同步,但是无论如何,始终都有一个应用程序的响应时间是变量,为此我们尝试通过异步的方式解决。我们并没有使用“响应式”这一术语,我们的关注点仅仅是如何快速地交付页面,这样做让我们受益匪浅。

我们使用了大量的第三方服务,如果在设定的时间阈值内第三方服务交付失败,那么程序就会跳过它们以提升速度。这样做的好处是:客户可以看到更多、更好的页面,后端更简单,客户支持的更好,律师的管理体验更好,使用的基础设施更少等。总之,我们做的很多事情都是为了提升交付速度。

InfoQ: Lawyer.com 如何处理大数据将客户和律师匹配到一起?

Gorman: Lawyer.com 每天有上百万的页面浏览行为,我们会将与之相关的所有数据积累起来用于业务分析。例如,从中分析出用户在哪里,正在寻求什么类型的法律援助。有了足够的数据,就可以做更加具体的匹配。我们的数据库有 200 多万个人档案,包含全世界 60 多个国家的 200 多万律师的简历。因此,我们一直在使用大数据提升服务质量,通过优秀的数据分析团队,对数据进行深入分析,帮助我们提升运营服务,决定市场策略等。我们热爱数据。

InfoQ: 最近一段时间,微服务和轻量级容器炒作的很厉害。Lawyer.com 现在是否使用了微服务或者轻量级容器?如果有,用了哪些?如果没有,那你们是否考虑迁移到微服务或者轻量级容器上?

Gorman: 我们没有使用这些技术,所有的服务都运行在我们自己的基础设施上,以确保它们可以尽可能快地运行。我们并不热衷于抽象。微服务可以锁定内部设计,但我们会经常对微服务的内部进行修改。我们的开发模式可能更接近于流水线的方式,不是面向对象的方式,而微服务可能更适合面向对象。同时,我们是一个非常高效的小团队,整个技术团队中的所有人都坐在一起。对我们来说,沟通不是问题,为 20 到 30 人的工程师团队提供固化容器的需求也不是很迫切。如果是雅虎或者曼哈顿银行,那么这可能非常重要,但是对我们,小而精简意味着我们可以良好地协作,绕过容器的一些开销。其他的公司显然可能用的更多一些。我们研究过 Docker,研究过市场上的一些其他选择,但是到目前为止,并没有让我们感到兴奋的东西。

InfoQ: 所以,Lawyer.com 实际上并没有要迁移到微服务或者轻量级容器上的打算?

Gorman: 现在这样做对我们而言并没有价值。当我们发展到现在的 10 倍,有很多研发办公室的时候,这样做可能才有必要。

InfoQ: 是什么让你们的匹配引擎比竞争对手的更加独特新颖?

Gorman: 这是我们的专利。我们相信自己拥有最好的匹配引擎,如果你对此感到惊讶,那么让我来解释一下。如果你或者你的朋友或者其他的人想要寻找一名律师,那么有两种方式:一是通过目录,找到看起来与案子相关的 20 位律师的姓名和电话,然后打电话给他们,如果幸运,经过几天的寻找最终会找到一位对你的案子不冷不热的律师。二是通过我们的平台,我们会尽快地为用户找到一位合格的、对案子感兴趣的本地律师。

这个问题很复杂。因为律师非常忙,他们通常不会接你的电话,他们办公室的职员也非常忙,通常一直在准备助理工作。因此,为了解决问题首先要联系上律师,其次是要找到一位真正有额外能力、可以帮你处理案子的律师。这实际上是一个非常复杂的问题。

InfoQ: 我们可以认为这是通过数学理论实现的么?

Gorman: 可以这么认为。

InfoQ: 是什么让 Lawyer.com 成为最快的在线律师目录网站?

Gorman: 网上有很多这样的文章,无论是 Amazon 还是 Google 都在谈网页速度的重要性。作为一个盈利平台,我们是 World Media Group 的一个子公司,是 doctor.com 的姐妹公司。World Media Group 在旅游行业有一个非常大的平台,我们从该平台学到的最主要的一件事就是:如果可以让页面加载速度快 1 秒,那么业务模型的整个经济收益就会有非常大的提升。如果网站很快,如果移动页面加载的非常快,那么会从 Google 获得非常大的 SEO 收益。例如,Amazon 通过这种手段再次将销售额提升了 10 个百分点。从诞生开始,我们就构建了一个可以快起来的架构,可以掌控页面加载的时间。现在,有很多页面的大小都超过了 1M,这是非常糟糕的,如果使用了插件,甚至会达到 2 到 3M,因为一个插件很有可能会依赖另一个 100KB 的插件。接下来的事情就很明了了,我们很难将 3M 的内容塞到一个管道里。页面越大,它的加载时间就越长,而我们很多竞争对手的移动主页都超过了 1MB,超出我们新移动主页 230KB 大小的 3 倍还多。因此,我们的第一个规则是,让页面尽可能地轻量,不加载臃肿的内容和插件;第二个规则是,利用所有的基础设施交付页面。例如,我们向 Akamai 支付了很多钱来购买 CDN 服务。Akamai 比 Amazon CloudFront 要快很多,同时也更稳定,当然也更贵,但是这样可以为最终用户提供更快的服务,我们确信自己的网络是非常快的。 我们在 Virginia 的数据中心延迟非常低,DNS 非常快。网络中的所有组件都非常快,后端也是,每当构建代码的时候,我们就会审查,问自己这一段代码会造成多少开销,还能不能再简化?自始至终,我们考虑的第一件事就是速度,非常滑稽的是,我们最大的客户是 Google 机器人。Google 机器人对速度非常狂热。我们喜欢让所有的客户满意,包括机器人。

InfoQ: 接受比特币作为支付手段的过程中是否遇到过一些问题?

Gorman: 这个问题非常有趣。我们在网站上增加了比特币支付功能,但是现在还没有律师使用过比特币支付。为什么会这样呢?我认为目前世界上只有大约 1000 万有效的比特币,相对于其他支付方式,使用比特币的人还是非常少的,大约每 200 个人里才有一个人知道如何使用比特币交易。比特币支付是一次前沿的实验,因为我们是比特币的忠实粉丝。比特币已经启动程序将网络的容量翻倍,它的使用率已经翻倍,其数量也已经在去年翻倍。我在网站上看到一个关于商业产品早期阶段的分类图表,我们现在正处于那上面所说的起步阶段,但是比特币的价格现在正处于历史最高值,大约有 130 亿美元,我们相信比特币在未来十年将会成为互联网的支付系统。因此,我们期待它成为一种非常重要的支付方式。

我们发送很多电汇,与电汇相比,发送一个比特币更加令人高兴,它更便宜,更快,更透明。这是一件非常美妙的事情。

InfoQ: 常规支付和比特币支付的比例各是多少?

Gorman: 100% vs 0。

InfoQ: 所以现在还没人使用比特币支付?

Gorman: 是的。我认为原因是现在只有极少的律师拥有比特币。如果使用比特币支付,那么服务价格会有 10% 的折扣,因为这样无论对我们还是对用户都有经济收益,我们也乐于降价。

InfoQ: 你们是否研究了竞争对手?他们在做什么?是否最终会复制你们的模式?

Gorman: 我有点惊讶。Google 早在一两年前就鼓励网站全面使用 SSL。Google、Gmail 以及其他的 Google App 都已经是 SSL 安全级别了。我们从一年前开始做这项工作,那时候,我们的竞争对手只有 Justia 一家使用了 SSL,到目前为止,只有 Avvo 也这样做了。FindLaw、Martindale、Nolo 等该领域中的一些大咖依然没有使用 SSL。我相信差不多两年之后,所有主要的网站都会使用 HTTP/2 协议,大约占互联网流量的 50%,因为 Google、Facebook 等公司都会使用 HTTP/2 协议。但是,尽管有速度和安全上的好处,律师行业对 HTTP/2 的采纳依然会慢一些。

InfoQ:Lawyer.com 如何利用社会化媒体?

Gorman: 我们在 Google+、Facebook、Twitter 和 LinkedIn 上都有账号。在很长的一段时间内我们在所有的这些平台上都做了推广。通常来说,社会化媒体对律师事务所或者法律行业的从业人员没什么作用。因为即使人们在酒驾后找到了一位非常优秀的律师,他们依然不太可能将其发布到 Facebook 上。

还有一个挑战是,大部分人只有在需要的时候才会寻求律师的帮助,它不会像 Miley Cyrus 那样让人兴奋。更重要的是,大部分人每十年才有可能需要律师一次,因此这件事对人们来说并不是非常重要。即使某个人对律师感兴趣,他们也不会通过 Facebook 或者 Twitter 寻找,而是会到 Google、Bing 或者 Yahoo 上搜索。

InfoQ: 我认为我们的问题是你们的市场前景如何?

Gorman: 我当然知道市场前景。还是那句话,可能有 10 亿人会关注 Kim Kardashian,但是人们却不会因为那个微小的、未来 10 年可能会用到律师的概率而关注一个律师网址。律师事务所也是这样,他们在社会化媒体上获得 ROI 是非常困难的,可能只有朋友或者家人才会点击,客户一般不会。

InfoQ:Lawyer.com 接下来会做什么?

Gorman: 很显然,我们会为律师增加一些新特性和产品。我们发现,如果一个律师在一小时内而不是在第二天对案件作出响应,那么他们获得客户的概率将提高 10 倍。因此,如果你不想花费很多的营销费用,那么就不要等一天再回答潜在客户的问题。为此,我们推出了律师专线(Lawyer Line),它让我们能够处理那些愿意和律师进行深入洽谈的潜在用户所产生的前端收入,前端呼叫、表单和聊天。Lawyer.com 处理所有的前端,当然,正因为自己处理前端,我们才能确保客户可以立即得到响应,不会被语音邮件、留言或者明天回话这些方式拖延。律师专线非常复杂,因为它基本可以替代或者补充律师事务所的前台。这是一个非常复杂的 IP 语音平台,花费了我们很大的研发精力,我们对此十分兴奋。

我们一直在关注最新的 AI 趋势。我们在新 AI 平台上发现了一些可以进一步提升匹配算法、数据质量的机会,这非常让人振奋。我们一直都非常关注速度,同时也为律师增加了很多更有价值的产品。
测试网站对 HTTP/2 的支持

Gorman 推荐了一个可以用来检查网站对 HTTP/2 支持情况的工具。他认为:

可以用它检查哪些网站在使用 HTTP/2,你会发现 Google 和 Facebook 在用,这两家公司都在促进该标准通过互联网 RFC 流程。很显然,那些关注速度的大公司已经在用 HTTP/2 了,而他们代表了因特网的一大部分。

查看英文原文: Lawyer.com: Early Adopter of HTTP/2, Speaks to InfoQ

2016 年 12 月 18 日 18:00991
用户头像

发布了 321 篇内容, 共 102.8 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

如何解决Nginx实现动静分离或反向代理时资源路径不匹配

运维研习社

nginx 反向代理 动静分离

Java线程池趣味事:这不是线程池

Java王路飞

Java 程序员 面试 算法 JVM

这才是打开“金三银四”Java面试的正确方式,2021“金三银四”看这个就对了

云流

Java 架构 面试

【看小说学编程】程序员在异世界生个娃 第二篇:外挂已准备就绪

1_bit

小说 C语言 原创小说 编程小说

28天瞎写的第二百三十九天:什么是正念冥想?

树上

冥想 28 天写作 正念

Dart 后台开发 Aqueduct @Column标记

人生如梦

我的这一期=孩子

Ian哥

28 天写作

Nginx零成本、易操作实现网站视频加速

运维研习社

nginx 流媒体 网站优化

关于智商测试的一点闲话 Day1

道伟

科普 28天写作

MySQL 批量修改所有表字段字符集及排序规则

运维研习社

MySQ

说说规则引擎

张老蔫

28 天写作

Go1.16 发布

Rayjun

go

Flutter安卓项目第一次启动失败解决方案

人生如梦

flutter

Dart 后台开发 Aqueduct 插入数据 获取数据API

人生如梦

flutter dart

为什么ElasticSearch比MySQL更适合全文索引

程序员历小冰

数据库 lucene elasticsearch BitMap 跳表

Dart 后台开发 Aqueduct ORM初始化数据库

人生如梦

2020 年行摄回忆录(下)

穿过生命散发芬芳

生活 摄影

【Python】关于 Type Hints 你应该知道这些(1/2)

zhujun

Python

干货 | Redis 实现发布订阅原理与实践

架构精进之路

redis 28 天写作 发布订阅

游戏与心理学现学现卖系列·序章

Justin

心理学 28 天写作 游戏设计

Dart 后台开发 Aqueduct集成Swagger客户端

人生如梦

flutter dart

管理笔记 [9]:组织与督导,管理者的两个宝

俊毅

28 天写作

程序员成长第十篇:从阅读代码开始

石云升

28天写作 2月春节不断更 阅读代码

Let's Encrypt签发工具CertBot-auto不再维护

运维研习社

2021 Flutter从零开始之全栈开发,后台到在线教育APP上线。

人生如梦

flutter dart

Jenkins通过OpenSSH实现Windows下的CI/CD

运维研习社

jenkins CI/CD Windows Server 2012 R2

微服务架构:网关概念与zuul

程序员架构进阶

服务化 API网关 日更挑战 28天写作 2月春节不断更

亿级流量架构之资源隔离思路与方法

程序员小毕

Java 程序员 架构 面试 分布式

(28DW-S8-Day1) 定个魔幻的范围:在线教育+区块链

mtfelix

比特币 区块链 在线教育 28天写作 教育+区块链

翻译:《实用的Python编程》02_01_Datatypes

codists

Python 人工智能 数据结构与算法 字典 元组

计算机中的层次化存储是个什么鬼?

冰河

程序员 数据结构 算法 计算机 层次化存储

微服务架构下如何保证事务的一致性

微服务架构下如何保证事务的一致性

InfoQ采访HTTP/2的早期采用者Lawyer.com-InfoQ