题目:基于微服务架构的客户关系管理系统的研究
摘要:以往信息系统软件堆积在单独的系统中,存在可扩展性差、可靠性低和维护成本高的问题。虽然SOA服务被引入到后期阶段,但由于SOA使用总线模式,因此这种总线模式会与特定的技术堆栈一起回收,并与特定的技术堆栈紧密相关。通过将应用程序和服务抽取到更小的应用程序和服务中,它可以更容易地改进和扩展,从而提高应用的高并发和高应用。作为在云中部署应用程序和服务的新技术,微服务已成为当今最新的热门话题。关于微服务器的讨论主要集中在容器或其他技术是否可以很好地执行微服务。公司和服务提供商正在寻找更好的方式将应用程序应用于云环境,它将是微服务的未来方向。
关键词:IT行业;SOA服务化;微服务;客户关系管理系统
传统的客户关系管理系统的实现方式是所有服务端逻辑都集成在一起,这样的结构导致系统的扩展性差,可靠性不高,维护成本高。虽然有的引入了SOA服务化,但是,由于SOA使用总线模式,这种总线模式与某个技术堆栈紧密耦合,例如J2EE等特定技术堆栈紧密相连。这导致许多公司的现有系统难以对接,交换周期太长,成本太高,新系统稳定性的收敛需要一些时间。最终SOA看上去很美,但却被认为是企业级奢侈品,中小公司都望而生畏。本系统是基于我国中小企业的管理现状,基于微服务架构研发出来的,扩展性好,可靠性高,维护成不高,技术栈不受限,例如,客户微服务最初是用java编写的。现在我们想要将客户的微服务改为nodeJs技术。这完全是可能的,而且由于担心只是客户的逻辑,所以技术更换的成本将会降低很多。所以如果研发成功,达到预期的目标,必定受到我国中小企业的欢迎。
微服务架构是一种基于云中部署应用程序和服务的新技术。关于微服务的大多数讨论集中在容器或其他技术是否可以很好地实现微服务,并且API应该成为焦点。微服务可以在他们自己的程序中运行并且可以通过“轻量级设备和HTTP型API进行通信”。关键是服务可以在自己的程序中运行。通过这个,我们可以区分服务公开和微服务架构(在现有系统中分部一个API)。在服务公开中,许多服务可能受到内部独立进程的限制。如果这些服务中的任何一个需要添加某个功能,则该进程必须缩小范围。在微服务体系结构中,只需将所需功能添加到特殊服务而不影响整个过程。本文就基于微服务架构的客户关系管理系统进行如下研究:
1主要研究内容、拟解决的技术难点和关键技术
1.1主要研究内容
1)微服务架构的研究;
2)客户关系管理系统的原有服务拆分粒度的研究;
3)微服务分布式事务的研究;
4)设计实现适合客户关系管理系统的微服务架构。
1.2拟解决技术难点
1)APIGateway(客户端如何访问这些服务):传统的开发方法,所有的服务都是本地的,可以直接调用UI,现在可以按功能划分为独立的服务。客户端UI如何访问他的服务。后台有N个服务,前台需要记住管理N服务。因此,通常在后台会有N个服务和UI之间的代理或API网关。他的功能包括:
提供统一的服务门户,使微服务对前台透明;
整合后台服务以节省流量并提高性能;
提供API管理功能,如安全性,过滤和流量控制;
2)服务调用(如何在服务之间进行通信):因为所有的微服务都是独立运行在不同机器上的独立进程,服务之间的通信是IPC(interprocesscommunication),并且有许多成熟的解决方案。现在基本上最常见的是方法:
REST(JAX-RS,SpringBoot);
RPC(Thrift,Dubbo);
异步消息调用(Kafka,Notify)。
同步呼叫相对简单且一致,但容易引发问题,性能体验稍差,特别是长时间的呼叫级别。异步消息方法在分布式系统中具有特别广泛的应用范围。他不仅可以减少呼叫业务之间的耦合,还可以缓冲呼叫,确保消息积压不会冲洗被呼叫者,同时保证呼叫。派对的服务体验将继续实现其自身的功能没有被背景表现放慢。
3)服务发现(有多少服务查找):在微服务体系结构中,每种服务通常具有多个副本,并通过SpringCloud的Ribbon进行负载均衡。服务随时可能脱机,并且可能会响应临时访问压力以添加新的服务节点。服务如何相互感知?服务如何管理?这是服务发现的问题。微服务通过SpringCloud的Eureka进行注册。当服务上线时,服务提供商将其服务信息与注册中心(或类似框架)一起注册,并通过心跳保持长链接以实时更新链接信息。可以通过SpringBootAdmin对注册中心的服务进行监控(服务的内存占用情况,日志级别等)。服务调用者访问Eureka,通过服务名称找到相应服务使用服务。
4)分布式微服务下的session问题:在分布式架构中,由于服务是跨域访问,所以session很难做到共享,要想共享session,其中一种比较理想的方案则是将session信息存储在redis缓存中。只需在maven的pom文件中加入相关依赖即可使用。
1.3关键技术
本次研究选用了当今比较成熟的springboot和springcloud作为开发架构,Springboot微服务开发架构,提供了展现、依赖注入、持久化、嵌入式容器、日志、缓存等常用功能,Eureka主要是实现服务注册发现,Ribbon主要实现负载均衡,Hystrix主要是服务的延迟和容错。ZUUL主要是提供动态路由功能。
2项目拟采取的研究方法(或技术工艺路线、实施方案),以及预期达到的目标、主要技术、经济指标和水平
2.1项目拟采取的研究方法
1)收集整理资料;
2)分析实施过程中要解决的技术难点;
3)根据分析结果提出集中初步设计方案;
4)对比分析各种初步方案,确定合理解决方案。
2.2预期达到的目标预期达到的目标、主要技术、经济指标和水平
本次研究选用了当今比较成熟的springboot和springcloud作为开发框架,Springboot微服务开发架构,提供了展现、依赖注入、持久化、嵌入式容器、日志、缓存等常用功能,Eureka主要是实现服务注册发现,Ribbon主要实现负载均衡,Hystrix主要是服务的延迟和容错。ZUUL主要是提供动态路由功能。
1)APIGateway(客户端如何访问这些服务)实现了提供统一服务入口,使每个服务对前台透明,在后台聚合,节省流量,提升性能,提供安全,过滤,流控等管理功能。
2)服务调用通用的有以下几种方式:REST(JAX-RS,SpringBoot);RPC(Thrift,Dubbo)。
3)服务发现:在微服务架构中,通常每个服务都是有多个拷贝,通过SpringCloud的Ribbon来做负载均衡。微服务是通过SpringCloud的Eureka做注册中心,当服务上线时,服务提供者将自己的服务注册到注册中心,通过心跳维持长链接,实时更新链接信息。可以通过SpringBootAdmin对注册中心的服务进行监控(服务的内存占用情况,日志级别等)。服务调用者访问Eureka,通过服务名称找到相应服务使用服务。
4)分布式微服务下的session问题:在分布式架构中,由于服务是跨域访问,所以session很难做到共享,要想共享session,其中一种比较理想的方案则是将session信息存储在redis缓存中。只需在maven的pom文件中加入相关依赖即可使用。
3主要技术及应用转化的前景预测分析
3.1主要技术
html5、javascript、Ajax、Jquery、SQLSERVER2012、Maven、Redis、Git、springcloud、springboot等。
3.2应用转化的前景预测分析
随着业务敏捷性需求的增加,我们开始看到一个向“推送”架构或者基于事件体系结构的发展趋势,即:一个服务发送一个事件,一个或多个观察者容器异步地运行逻辑来响应该事件,而不需要通知事件生产者。另一个好处是,在设计各自的服务时,开发人员可以更加独立。虽然开发人员可以将容器环境构建为事件驱动架构,但功能即服务(FaaS)本身就体现了这种能力。在FaaS架构中,函数作为文本存储在数据库中,并通过事件触发。一旦调用了该函数,API控制器就会接收消息并通过负载均衡器将其发送到消息总线,消息总线将其排入计划并提供给一个调用容器。执行完后,结果存储在数据库中,并发送给用户,然后函数被分解,直到再次触发。FaaS的好处包括:1)从编写代码到运行服务的时间缩短了,因为创建或push源码之后不需要做额外操作。2)当函数由FaaS平台(如AWS)管理和缩放时,开销会减少。然而,FaaS并非没有自身的挑战。由于FaaS要求将服务的每个部分解耦,因此可能会出现难以发现、管理、编排和监视的函数的扩散。最后,如果没有依赖项的全面可视化工作,就很难调试FaaS系统,可能会出现无限循环。
4结束语
使用微服务架构构建应用程序很有意义,因为它允许您同时具有水平缩放和垂直缩放功能;它还具有可在整个架构中重复使用的额外API。可以每分钟提供新服务,因此您必须拥有敏捷且响应迅速的应用程序平台。这个平台必须是未来发展的方向。
参考文献
[1]究竟什么是微服务架构?[Z].TechTargetSOA[2015-10-23].
[2]RedHat:API层是微服务架构成功的关键[Z].TechTarget[2015-10-10].
[3]微服务与SOA:与其重用不如抓住敏捷性[Z].TechTarge[2015-10-27].
客户关系管理系统论文一(2):
题目:以集成化供应链为基础的客户关系管理系统分析
摘要:随着我国市场经济体制的完善与经济全球化的发展,企业必须采用更为先进的客户管理系统以处理更为复杂的关系。本文对以集成化供应链为基础的客户关系系统进行分析,指出其组成结构与运行模式,并对建设系统时用到的关键技术进行分析,希望能给广大相关工作人员提供帮助。
关键词:集成化供应链;客户关系;管理系统;
随着改革开放的不断推进,我国市场经济体制越发完善,市场竞争模式也发生了巨大的变化。科学技术的快速普及缩小了各企业间产品间的差距。客户在选择产品时已经不仅仅关注于价格与产品质量,对企业的服务也提出了更高的要求。在这样的时代背景下,任何企业都不可能独立存在与发展。深度合作是大势所趋,基于集成化供应链的客户关系管理系统是企业未来发展的必然趋势。
1以集成化供应链为基础的客户关系管理系统
集成化供应链是指供应链内部成员为了实现一个共同目标而组建的一个“虚拟组织”,组织内部成员彼此间信息共享,并通过一系列的协调与合作工作实现目标。以集成化供应链为基础的客户关系包含两种情况即传统的竞争关系与合作关系。这样的客户关系需要企业与客户之间实现有效的资源共享,因此必须建立一种全新的、具有不同层次的客户信息管理系统。[1]该系统需要满足以下几个方面的要求。(1)具备有效的客户数据分析功能,为相关的决策人员提供可靠的数据参考。(2)必须具有面向客户的交互平台,让客户可以及时获得信息,以及与企业取得联系。(3)具备企业和战略合作伙伴的信息共享平台,实现信息流动,为各个节点的企业做出正确的决策提供数据、信息保障。
2以集成化供应链为基础的客户关系管理系统的基本结构
2.1系统结构
以集成化供应链为基础的客户关系管理系统主要由数据中心、功能层与用户层三个部分组成。数据中心是由中心数据库与客户关系数据库两个部分组成。系统在获得客户的数据后会分别存储在这两个数据库中。客户关系数据库涉及到的主要信息为各单位间的具体业务信息。最终中心数据库的数据与客户关系数据库都会进入多维数据库,从而实现对各类信息的保存与分析。管理系统的功能层是建立在对客户数据的录入的基础上,通过数据中心对数据信息进行加工分析,从而形成相应的数据报告,最终实现为企业提供数据支持的目的,帮助公司决策层做出正确的决策。用户层是由客户、合作伙伴、业务员等多个单位共同构成,用户层是面对客户与合作伙伴等单位的交互平台,在这里客户与合作伙伴可以获得相关数据。
2.2运营模式
以集成化供应链为基础的客户管理系统建立的目的是要处理复杂的客户关系。在该系统中,企业与客户之间既有合作也有竞争,因此,集成化供应链的基本运行模式为螺旋型周期循环模式。在系统具体的运行中,需要为不同的用户群体提供不同的终端。一方面可以满足客户、合作伙伴、业务人员等不同人员对于数据的要求,另一方面也可以更加有效地收集其具体信息。在完成信息收集时,系统数据库以及数据处理中心会根据数学模型展开一系列复杂的运算获得,最后以最直观的形式出现在公司决策人员面前。这些决策人员会根据数据分析结果制定制定相关的发展计划以及相关部门的管理制度、运营标准。相关部门需要根据这些标准开展工作,再通过系统收集相关信息继而对工作标准加以调整、修改,如此往复循环。该客户管理系统的核心是用户,有效的数据分析可以为决策人员提供最为重要的数据参考,有助于决策者做出正确的决定,从而促进企业的的发展进步。
3系统中应用的关键技术
3.1数据库
以集成化供应链为基础的客户关系管理系统是建立在一系列数据保存与分析的基础上的一个系统。在该客户管理系统中主要运用的数据库有中心数据库、客户关系数据库、多维数据库。数据库可以实现对各单位数据信息,并对这些分散的数据信息进行融合、以便实现各种信息的查阅、存取与分析。[2]在进行数据库设计时需要确定数据收集范围与数据收集方式;定义好数据的转化、传输,确保数据能够进入到正确的数据库中并继而完成相关的具体操作。此外,数据库还担负着数据优化的重要职责,数据优化是确保数据准确性的重要手段,
3.2数据挖掘
大多数有用的信息都隐藏在数据背后。数据挖掘是指对数据模型与数据之间深层次的关系进行深一步的挖掘,从而将隐藏在海量数据背后的信息找出来,揭示信息内部的规律性,并呈现在相关决策人员面前。在完成数据采集后必须要对数据进行挖掘,从中获取更多有用的信息,从而为相关决策人员提供高质量的数据参考。在具体的实施过程中,首先要确保被选择数据的准确性。其次根据相关规则与时间序列进行初步预测。最后再实践工作中对结果进行必须的验证,从而得到准确的结果。
3.3信息集成
信息集成技术要求该系统与其他系统之间进行数据同步、信息交流,是客户管理系统与其他系统进行协作的基础,是将客户管理系统与其他系统进行融合工作的纽带。信息集成技术主要包含有信息转换标准协议与信息传输标准协议。在实际的工作中,主要采用的信息转换协议为XML协议,通过对SOAP技术进行运用以完成标准画的信息传输协议。在进行系统建设过程中使用各种标准化的协议可以解决各系统间的不协调问题,提高信息传输与转换的稳定性与效率。
4结语
以集成化供应链为基础的客户关系系统是是处理新时期企业与客户复杂关系的有效系统,进行该系统建设时必须对其内部结构与运形模式进行深层次的了解,并做好数据库、数据挖掘技术的应用工作。通过对系统数据的进一步挖掘揭示数据背后的规律,为相关决策者提供可靠的数据支持,从而促进企业的健康稳定发展。
参考文献
[1]郑丽娟,张乾.基于集成化供应链的客户关系管理系统研究[J].商业时代,2008(10):45-46.
[2]张继德,时斐.基于电子商务的供应链管理应用研究——以苏宁易购为例[J].会计之友,2014(36):122-126.