saas产品私有化(一) 缓存中间件适配

这篇具有很好参考价值的文章主要介绍了saas产品私有化(一) 缓存中间件适配。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.背景

        名词解释:私有化一般指的是在对客交付过程中,客户由于自身数据敏感,成本控制等原因要求交付乙方将售卖的服务利用现有甲方的硬件设备或者云服务进行服务的部署.

    面向场景:一般特制的是saas化的云服务软件提供商的对特殊客群的场景.其中saas行业中比较起步和规模比较大的比如:sales force, 用友等.

   遇到的问题:那么在具体实施过程中,对于复杂的云环境,不同的云厂商提供的基础设施的要求这时候都变成了反向要求.因为这时候客户是上帝,面向"上帝"交付变成了不得不. 换言之其实对于技术的挑战则随之而来,第一个需要考虑的则是不同的技术中间件如何在通过一套的产品服务实现差异化透明.用DDD的话来说就是如何真正的解除业务对于技术细节的依赖.

二.缓存中间件解决方案

2.1 实现方案

     针对以上背景与问题.可以得到在某一个中间件私有化过程中.要做到的目标是在产品落地的环节通过解耦+适配来解决中间件细节依赖.以此做到解决方案的轻量化部署,而不是不同产品,不同实现的定制化研发(坏味道).那对于缓存来说,目前市面上常见的产品有Redis,memcache,ehcache,本地cache(guava,caffeine),如果把MongoDB也算上的话.种类比较多.对于使用方来说本质上的区别并不大,更多的是不同场景,不同技术选型的选择.

2.1.1 解耦

     不知道是哪一位计算机老师曾经说过,计算机世界的大多数问题大多都可以通过增加一层来解决.那其实在这里也不妨套用同样的思路.

     在不同缓存产品对接过程中,通过增加一个接口来实现技术实现方和调用方的解耦.

如下图:

saas产品私有化(一) 缓存中间件适配

2.1.2 适配

如上解决了第一个问题之后,接下来其实就是适配的问题.从代码的角度.这里其实解决方案很多.这里从开发的角度尽可能的选择了一个相对来说比较简单理解的方案.具体我也不知道是什么模式.(多讲一句,其实不论是具体哪些设计模式无外乎都是设计的6个原则围绕展开.不知道是哪些人编写了23种设计模式,还让我们这些后来的学习中绞尽脑汁半夜苦读).回到适配本身的问题,那我们尽可能是要解决在适配未来的过程中,尽可能的对增加开放,修改关闭,一个类完成一个类的事情(单一职责).所以就有下面这个图.

saas产品私有化(一) 缓存中间件适配

2.1.2.1 AbstractCacheClientManager

持有抽象cacheClient的引用.并生产决定具体使用哪一个client

saas产品私有化(一) 缓存中间件适配

2.1.2.2 AbstractCacheClient

抽象client 对象中常见的方法和属性.

saas产品私有化(一) 缓存中间件适配
目前是适配了三个比较常见的client .JimDBCacheClient(XX公司自研产品),RedisCacheClient(Redis产品),LocalCacheClient(本地缓存目前是简单的Map版)

2.1.2.3 RcCommonProperties

抽象了基本的配置类,最后发现其实配置比较个性化.暂且先保持抽象的能力.给未来留一手
那现在基本是仅有RcRedisProperties的实现.

2.2 使用

2.2.1 spring.factories 形式三方加载

这个方式比较常见,还有其他几种类型.算是springBoot比较香的功能.利用这个功能可以比较方便的插入一些自定义的插件.透明切入saas产品私有化(一) 缓存中间件适配

2.2.2 common.properties 配置支持灵活

rc.core.cache.commonCacheSwitch=redis|local|jimDB

通过配置文件开启指定的缓存适配方案

赠人玫瑰 手有余香 我是柏修 一名持续更新的晚熟程序员
期待您的点赞,关注加收藏,加个关注不迷路,感谢
您的鼓励是我更新的最大动力
↓↓↓↓↓↓文章来源地址https://www.toymoban.com/news/detail-472654.html

到了这里,关于saas产品私有化(一) 缓存中间件适配的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用 Verdaccio 私有化 npm 源指南

    使用 Verdaccio 私有化 npm 源指南 介绍 什么是 Verdaccio 为什么选择 Verdaccio 部署 Verdaccio Nodejs 部署 全局 局部 Docker 部署 云服务商一键部署 注册用户 发布私有 npm 包 管理 npm 包 项目使用私有源 全量切换 部分切换 结尾 源代码链接 在日常的工作开发中,我们常常会遇到这样的场景

    2024年04月15日
    浏览(47)
  • 企业微信私有化的价值与实践

    随着信息技术的飞速发展,企业微信作为一种高效、便捷的通讯工具,已经成为了众多企业的首选。然而,对于一些大型企业或者对信息安全有特殊需求的企业来说,使用公有云的企业微信已经无法满足其需求,此时,企业微信的私有化就成为了更好的选择。 一、企业微信私

    2024年01月21日
    浏览(43)
  • Sealos 云操作系统私有化部署教程

    Sealos 私有云已经正式发布了,它为企业用云提供了一种革命性的新方案。Sealos 的核心优势在于,它允许企业 在自己的机房中一键构建一个功能与 Sealos 公有云完全相同的私有云 。这意味着企业可以在自己的控制和安全范围内,享受到公有云所提供的灵活性和扩展性。这对于

    2024年02月05日
    浏览(71)
  • Docker详解(十六)——Docker私有化仓库创建

    今天继续给大家介绍Linux运维相关知识,本文主要内容是Docker的私有化仓库创建。 对于一些有能力的企业来说,有时希望能够创建一个私有化的Docker仓库,这样一来可以将自己定制的系统发布到自己的仓库里,在保证安全的前提下使用;二来可以节省网络带宽,可以使得Doc

    2023年04月09日
    浏览(46)
  • 可私有化部署的车牌识别API接口

    车牌OCR识别 的出现为企业提供了一种高效、准确的车牌识别和信息提取解决方案。通过图像预处理、区域定位、字符分割和字符识别等步骤,将获取的车牌图片或视频中的车牌信息瞬时输出,可提供车牌识别API接口做二次开发,该 API 能够自动识别车牌中的段信息,并

    2024年02月11日
    浏览(60)
  • 安装Joplin Server私有化部署(docker)

    前言: 老规矩官方文档链接 1. 首先拥有一个自己的云服务器(如果没有外网访问需求的话就随意吧) 安装docker安装方式 这里Joplin是使用PostgreSQL数据库的形式, 如果没有PostgreSQL库的话, Joplin默认使用的是SQLLite数据库 我这里使用的是docker-compose部署用的是官网的demo.yml所以就直接也

    2024年02月21日
    浏览(63)
  • 私有化部署大模型:5个.Net开源项目

    从零构建.Net前后端分离项目 今天一起盘点下,10月份推荐的5个.Net开源项目(点击标题查看详情)。 1、BootstrapBlazor企业级组件库:前端开发的革新之路 BootstrapBlazor是一个用于构建现代Web应用程序的开源框架,它基于Blazor框架,采用Bootstrap的UI样式。Blazor框架允许使用C#代替

    2024年02月05日
    浏览(63)
  • 关于语言模型私有化部署的讨论 | AIGC实践

    上周在与TC同行关于AIGC实践的线上交流中,大家普遍比较关心的一个实践切入点是:语言模型的私有化部署——简单来说,就是在企业内部,部署一个属于自己的“ChatGPT”,对于本行业/专业知识,以及企业独有的产品和技术信息有充分的了解,并且提供用户接口,通过自然

    2024年02月11日
    浏览(69)
  • 使用ztncui配置私有化zerotier服务器

    众所周知,Zerotier-One是一个非常好的组建虚拟局域网的工具,可以以p2p的方式穿透NAT网络进行连接。但是在使用中也仍然存在着一些瑕疵,主要就是以下两点: 因为Zerotier官方提供的中心节点(planet节点)全部都在国外,所以更新路由表的时候,通常会消耗较长的时间,甚至可

    2024年02月14日
    浏览(53)
  • 开源双语对话语言模型 ChatGLM-6B 本地私有化部署

    本文首发于:https://www.licorne.ink/2023/08/llm-chatglm-6b-local-deploy/ ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。 ChatGL

    2024年02月10日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包