案例分析 - NCache 为前 5 名汽车制造商提供性能和可扩展性

汽车标题图片

我们专注于 NCache 因为我们喜欢它提高应用程序性能的方式以及它如何满足我们所有的缓存需求。

组长
系统架构师
 

国家或地区:
德国

行业:
汽车金融

公司简介:
德国前五名高档汽车制造商之一成立。 他们长期生产汽车,到 2018 年底已成功交付约数百万辆汽车,包括摩托车和汽车。

NCache 使该汽车制造商能够保持其汽车金融服务应用程序的高可用性并加快响应时间。

下载PDF

介绍

汽车金融业是全球最大的产业之一。 凭借庞大的客户群,他们的网络遍布世界各地。 排名前五的汽车制造商之一,在美国拥有数百家经销商和成千上万的客户,他们的汽车金融应用程序需要高可用性和可扩展性以供日常使用。 作为领先的汽车制造商,他们的主要目标是通过提供快速可靠的数据访问机制,为其经销商和最终客户提供价值服务。

他们的申请分为两部分。 首先是面向客户的自助服务门户的交互式启动系统,其次是面向经销商的金融服务管理门户。 金融服务包括贷款管理、付款计划、分期付款计划和合同管理。 他们的应用程序处理的多个系统是:

  • 启动系统: 这用于与经销商交谈并签署购买汽车的贷款协议。
  • 合同管理系统: 贯穿汽车生命周期的账户管理系统。
  • 客户自助服务: 客户自助服务门户,提供有关定价和购买细节的基本信息。

具有大量最终用户和多种功能的多样化系统需要高速数据交付以及其面向公众的站点的一致性。

 

挑战

对于高事务性应用程序,主要挑战是保持数据的快速和高可用性。 该应用程序严重依赖后端关系数据库,在高事务负载下成为性能和可伸缩性瓶颈。 由于有数十万最终用户,请求负载很高,导致性能下降。 此外,最终用户位于不同的时区。 负载在区域之间转移,从而导致数据库上的事务负载增加。 它会对用户和相关的业务成本产生负面影响。

除此之外,对于大型数据对象,网络上的数据传输变得非常缓慢。 对于大型数据对象而言,网络访问的成本非常高,并且会影响应用程序的整体性能。 静态数据可以保存在内存中,以避免每次发出请求时都发生数据库故障。 这减少了网络旅行,因为它们本质上是昂贵的。 但是,内存中的数据需要与数据库同步,因为有两个单独的数据副本,它们可能会不同步。 因此,数据同步是他们的应用面临的另一个挑战。

Alachisoft 产品名称:
NCache

满足客户需求:

  • 高可用性
  • 持续一致
  • 稳定性
  • 值得信赖
 

NCache 是固体修复!

NCache 为他们的多层应用程序及其高级功能提供了灵活且可扩展的解决方案。 使用缓存将常用数据缓存在内存中 NCache 不仅加快了应用程序的响应时间,而且还节省了每次发出请求时的数据库行程。 他们正在体验更快的数据访问和应用程序的稳定性 NCache 作为他们的缓存层。 NCache 为他们提供了在缓存层中添加更多服务器以增加应用程序的请求处理阈值的便利。 它有助于适应应用程序上增加的请求负载。

没有停机时间,也没有用户数据丢失 NCache 始终为他们的关键任务系统设置应用程序。 这样,计划外中断或计划内维护不会影响应用程序性能。

 

建筑概述

应用程序架构由以下组件组成:

  • 客户自助服务应用程序 (ASP.NET)

    它是一个用 ASP.NET 设计的面向客户的门户。 它被客户使用。

  • 经销商面对贷款和合同管理应用程序 (ASP.NET)

    它是为经销商设计的,也是用 ASP.NET 设计的。

  • 中间件服务(.NET Web 服务)

    该层包含许多用于数据访问的服务。 前端的应用程序与服务的中间件通信。 该层处理应用程序的所有缓存。

为了更仔细地了解该应用程序,他们的网络应用程序包括一个面向公众的门户网站,供客户和经销商使用以提供汽车金融服务。自助客户门户保留有关贷款、付款计划、定价等信息。全国各地的经销商都使用面向经销商的门户,该门户保留有关用户信用记录、分期付款计划和合同管理的信息。

中间件服务层有许多 WCF SOAP 服务,负责从后端数据库访问数据。 它包括12-17 服务器,这就是 NCache 用来。 前端 Web 应用程序与中间件进行通信,以获取用户记录、定价详细信息和贷款管理等请求。

分布式缓存减少网络延迟并增加响应时间
图 1 - 分布式缓存减少网络延迟并增加响应时间

缓存层是 4 个缓存服务器的专用层,物理上非常靠近 Web 服务器,因此它们位于同一网络上。 这减少了网络延迟并提高了请求响应时间。

他们缓存的主要信息之一是其复杂的定价信息,其中包含一组参数,例如制造年份、型号、地区等。

他们在后端使用 SQL Server 作为他们的关系数据库。 下图直观地描述了应用程序架构。 他们在美国各地拥有大约 400-500 家经销商。 因此,他们的网络负载相对于活跃用户发生了变化。 他们进一步解释说,他们的应用程序具有非常高的事务性,每秒有 2-3 百万次事务。

 

高性能和可扩展性

NCache 使用分布式缓存解决方案非常快速且可扩展。 数据驻留在 NCache 使应用程序免于对数据库进行昂贵的访问。 他们对其定价对象进行复杂的定价计算,然后将这些数据缓存在 NCache. 这帮助他们提高了应用程序性能,并简化了架构,如果数据已经存在,他们不必再次执行这些复杂的定价计算 NCache. 如果数据在缓存中不可用,则从数据库中获取此定价数据并缓存以供将来使用。

这改善了最终用户体验并产生了积极的业务影响。

关于 Alachisoft:
Alachisoft 提供流行的高性能内存分布式缓存,称为 NCache. NCache 是一种在生产环境中运行的开源中间件,可提高 .NET Web 应用程序、SOA 服务应用程序和一般高流量服务器应用程序的性能和可扩展性。 自 2005 年以来, NCache 在世界各地,特别是在美国、英国和西欧,拥有数百名客户的良好业绩记录。

您可以下载 30 天的免费试用版 NCache 止 此处.

Alachisoft
公司总部
12005 Ford Road, Suite 520
达拉斯,德克萨斯州75234

US: +1 (214) 764-6933
UK: +44 207 993-8327

sales@alachisoft.com
support@alachisoft.com

 

用于 InProc Speed 的客户端缓存

客户门户显示有关汽车价格的信息以及制造细节和型号等详细信息。目录显示车辆的图片以及车辆详细信息。这些数据大部分是静态的,其中一些数据的大小也很大,这使得从数据库中获取单个请求的成本很高。因此,缓存静态数据以供使用可以增强用户体验,因为响应时间和应用程序性能都更好。

NCache 提供了一个专门的功能,称为 客户端缓存 这是缓存静态数据的理想选择。 客户端缓存允许他们将数据本地保存在应用程序服务器上(更靠近应用程序),并帮助他们节省昂贵的网络旅行以及昂贵的数据库旅行 NCache 已经在为他们存钱了。 客户端缓存还与其远程集群缓存同步,确保数据一致性,同时提高应用程序性能。

客户端缓存还解决了与大数据对象相关的性能问题。 客户端缓存最初将这些大型对象本地驻留在同一台客户端计算机上,因此可以节省来回的网络行程。 应用程序体验更快的数据检索 NCache 客户端缓存。

除了客户端缓存外,还建议他们打开压缩以减小对象的大小以进一步调整性能。

 

用于预加载缓存的缓存加载器

对于缓存,应用程序首先检查缓存中的数据,例如,为了查看价格详细信息,首先检查缓存中的预先计算的定价数据。 如果缓存未能提供所需的数据,则在数据库中查找数据。 然后将其保存在缓存中以供将来使用。 它提高了应用程序的性能,但它会为每个未缓存的数据项花费一次数据库之旅。

这个问题是使用 缓存启动加载器. 它在启动时预加载缓存中的大部分数据,因为它们的大部分数据是静态的。 它使数据具有高可用性并节省了网络成本。 在上面的示例中,对于需要快速加载数据的定价细节,缓存将始终保留数据。 对进一步提高应用性能和处理请求吞吐量有很大帮助。

 

将缓存与 SQL Server 同步

NCache 保留数据库中的数据并保留以供使用。 它提高了应用程序的吞吐量和性能。 但是,对于两个单独的数据副本,同步是主要的必要条件。 如果数据库中的数据被更新,缓存数据就会变得陈旧,应用程序会继续使用陈旧的数据。 为了保持缓存和数据库同步, NCache 提供数据库同步功能,使两个数据源中的数据保持一致。 对于数据库中的任何更改,缓存中的数据会自动被删除并在下次请求时获取最新的数据副本。 这样,应用程序将始终对更新的数据集执行操作。

 

继续前进 NCache

汽车金融公司受益于 NCache 在上面讨论的许多领域并进一步发展,他们期待使用微服务架构 NCache. 他们决定加强 NCache 进一步用于他们的关键任务微服务应用程序,以在所有用户区域中获得更长的正常运行时间。 “我真的希望我们接下来可以移动一些相当容易的东西,我们开始利用一些高级功能 NCache“,团队的一位建筑师说。

他们计划使用 .NET Core 使用 Kubernetes 来处理这个应用程序 NCache 完全支持。 他们还表现出对事件驱动的 Pub/Sub 消息传递功能的兴趣 NCache 提供它们的微服务之间的通信。 NCache 能够为他们管理所有这些(.NET Core、容器化、事件驱动的 Pub/Sub 消息传递),同时管理超快的性能和极高的可扩展性。

接下来做什么?

联系我们

联系电话
©版权所有 Alachisoft 2002 - 版权所有。 NCache 是 Diyatech Corp. 的注册商标。