业务支持

微服务全流程分析

余生颓废 提交于 2020-01-07 11:09:25
转眼已经2020,距离微服务这个词落地已经过去好多年!(我记得2017年就听过这个词)。然而今天我想想什么是微服务,其实并没有一个很好的定义。为什么这样说,按照微服务的定义: 微服务架构就是将一个庞大的业务系统按照业务模块拆分成若干个独立的子系统,每个子系统都是一个独立的应用,它是一种将应用构建成一系列按业务领域划分模块的,小的自治服务的软件架构方式,倡导将复杂的单体应用拆分成若干个功能单一、松偶合的服务,这样可以降低开发难度、增强扩展性、便于敏捷开发,及持续集成与交付活动。 根据这个定义,不难看出其实就是对复杂的业务系统统一做逻辑拆分,保持逻辑上的独立。那么逻辑上独立就是一个服务这样做真的是好吗,如何界定:小、独,还有要做一个事情,完成单一的业务,单一的功能要拆分出来,为了独立而独立会不会导致拆的过细?不同人有不同的见解,我们今天一起探讨微服务的过去和未来。 微服务缘起 在没有微服务之前,我们最早的架构模式就是 MVC 模式,把业务逻辑分为:表示层,业务逻辑层,数据访问层。MVC模式随着大前端的发展,从一开始的前后端不分离,到现在的前后端分离逐渐演进。这种演进好的一点是剥离了不同开发语言的开发环境和部署环境,使得开发较为便利,部署更直接。然而问题是:这种模式仍然是单体应用模式,如果有一个改动需要上线,你不得不因为这个改动去考虑更多

全球首款支持华为鲲鹏硬件架构,GaussDB T数据库云服务上线华为云

天涯浪子 提交于 2020-01-05 23:42:15
  近日,全球首款支持鲲鹏硬件架构的企业级 OLTP 数据库 GaussDB T 的云服务,正式上线华为云。意味着 GaussDB T 除了为企业提供本地部署外,同时具备了在云上为更多企业提供高效、稳定、易用和高价值的 OLTP 数据库服务能力。   华为 GaussDB T 基于创新性数据库内核,提供高性能事务实时处理能力、金融级高可用能力,可以用于金融、政府、运营商、大企业等行业场景,如金融互联网交易、政府或企业自动化办公(OA)等管理支撑系统业务。   华为 GaussDB T 数据库云服务具有如下特点:   截至目前,华为 GaussDB 系列数据库产品全球累计发货超过 30000 套,广泛应用于金融、运营商、政府、能源、医疗、制造、交通等多个行业,已经成为各行业核心业务数据库的信赖之选。 来源: 51CTO 作者: emjdjis 链接: https://blog.51cto.com/13406740/2464509

全球首款支持华为鲲鹏硬件架构,GaussDB T数据库云服务上线华为云

做~自己de王妃 提交于 2020-01-05 22:18:45
  近日,全球首款支持鲲鹏硬件架构的企业级 OLTP 数据库 GaussDB T 的云服务,正式上线华为云。意味着 GaussDB T 除了为企业提供本地部署外,同时具备了在云上为更多企业提供高效、稳定、易用和高价值的 OLTP 数据库服务能力。   华为 GaussDB T 基于创新性数据库内核,提供高性能事务实时处理能力、金融级高可用能力,可以用于金融、政府、运营商、大企业等行业场景,如金融互联网交易、政府或企业自动化办公(OA)等管理支撑系统业务。   华为 GaussDB T 数据库云服务具有如下特点:   截至目前,华为 GaussDB 系列数据库产品全球累计发货超过 30000 套,广泛应用于金融、运营商、政府、能源、医疗、制造、交通等多个行业,已经成为各行业核心业务数据库的信赖之选。 来源: 51CTO 作者: akixke 链接: https://blog.51cto.com/13472741/2464481

Spring框架IOC容器和AOP解析

笑着哭i 提交于 2020-01-05 05:37:06
主要分析点: 一、Spring开源框架的简介 二、Spring下IOC容器和DI(依赖注入Dependency injection) 三、Spring下面向切面编程(AOP)和事务管理配置 一、Spring开源框架的简介    Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。    spring的基本框架主要包含六大模块:DAO、ORM、AOP、JEE、WEB、CORE Spring DAO :Spring提供了对JDBC的操作支持:JdbcTemplate模板工具类 。 Spring ORM :Spring可以与ORM框架整合。例如Spring整合Hibernate框架,其中Spring还提供HibernateDaoSupport工具类

Kafka 集群在马蜂窝大数据平台的优化与应用扩展

孤人 提交于 2020-01-03 14:28:10
马蜂窝技术原创文章,更多干货请订阅公众号:mfwtech Kafka 是当下热门的消息队列中间件,它可以实时地处理海量数据,具备高吞吐、低延时等特性及可靠的消息异步传递机制,可以很好地解决不同系统间数据的交流和传递问题。 Kafka 在马蜂窝也有非常广泛的应用,为很多核心的业务提供支撑。本文将围绕 Kafka 在马蜂窝大数据平台的应用实践,介绍相关业务场景、在 Kafka 应用的不同阶段我们遇到了哪些问题以及如何解决、之后还有哪些计划等。 Part.1 应用场景 从 Kafka 在大数据平台的应用场景来看,主要分为以下三类: 第一类是将 Kafka 作为数据库 ,提供大数据平台对实时数据的存储服务。从来源和用途两个维度来说,可以将实时数据分为业务端 DB 数据、监控类型日志、基于埋点的客户端日志 (H5、WEB、APP、小程序) 和服务端日志。 第二类是为数据分析提供数据源 ,各埋点日志会作为数据源,支持并对接公司离线数据、实时数据仓库及分析系统,包括多维查询、实时 Druid OLAP、日志明细等。 第三类是为业务方提供数据订阅 。除了在大数据平台内部的应用之外,我们还使用 Kafka 为推荐搜索、大交通、酒店、内容中心等核心业务提供数据订阅服务,如用户实时特征计算、用户实时画像训练及实时推荐、反作弊、业务监控报警等。 主要应用如下图所示: Part.2 演进之路 四个阶段

Dubbo 如何成为连接异构微服务体系的最佳服务开发框架

此生再无相见时 提交于 2019-12-27 16:47:31
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 从编程开发的角度来说,Apache Dubbo (以下简称 Dubbo )首先是一款 RPC 服务框架,它最大的优势在于提供了面向接口代理的服务编程模型,对开发者屏蔽了底层的远程通信细节。同时 Dubbo 也是一款服务治理框架,它为分布式部署的微服务提供了服务发现、流量调度等服务治理解决方案。 在这篇文章中,我们将以以上基础能力为背景,尝试突破 Dubbo 体系自身,探索如何利用 Dubbo 对多协议、多服务发现模型的支持,来实现异构微服务体系间的互联互通。在实际业务场景中,这可以用来解决异构技术体系共存场景下的通信问题,帮助公司实现在异构技术体系间作平滑迁移,解决大规模跨区域、多集群部署场景的地址发现及流量调度等问题。 面向接口代理的透明服务开发框架 我们还是从 Dubbo 是一个微服务开发框架 这个大家熟知的概念开始。就像 Spring 是开发 Java 应用的基础框架一样,我们经常会选用 Dubbo 作为开发微服务业的基础框架。 Dubbo 框架的最大优势我认为就在其面向接口的编程模型,使得开发远程服务调用就像开发本地服务一样(以 Java 语言为例): 服务定义 public interface GreetingsService { String sayHi(String name); }

Dubbo 如何成为连接异构微服务体系的最佳服务开发框架

霸气de小男生 提交于 2019-12-24 04:07:27
从编程开发的角度来说,Apache Dubbo (以下简称 Dubbo)首先是一款 RPC 服务框架,它最大的优势在于提供了面向接口代理的服务编程模型,对开发者屏蔽了底层的远程通信细节。同时 Dubbo 也是一款服务治理框架,它为分布式部署的微服务提供了服务发现、流量调度等服务治理解决方案。 在这篇文章中,我们将以以上基础能力为背景,尝试突破 Dubbo 体系自身,探索如何利用 Dubbo 对多协议、多服务发现模型的支持,来实现异构微服务体系间的互联互通。在实际业务场景中,这可以用来解决异构技术体系共存场景下的通信问题,帮助公司实现在异构技术体系间作平滑迁移,解决大规模跨区域、多集群部署场景的地址发现及流量调度等问题。 面向接口代理的透明服务开发框架 我们还是从 Dubbo 是一个微服务开发框架 这个大家熟知的概念开始。就像 Spring 是开发 Java 应用的基础框架一样,我们经常会选用 Dubbo 作为开发微服务业的基础框架。Dubbo 框架的最大优势我认为就在其面向接口的编程模型,使得开发远程服务调用就像开发本地服务一样(以 Java 语言为例): 1、服务定义 public interface GreetingsService { String sayHi(String name); } 2、消费方调用服务 // 和调用本地服务一样,完全透明。 @Reference

NGN学习笔记2——软交换技术

陌路散爱 提交于 2019-12-21 23:22:43
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 1.产生背景 a)交换技术是为了减少线路投资而采用的一种传递信息的方法,有两种主要的交换模式:电路交换和分组交换 电路交换:人工交换Æ半自动交换Æ自动交换Æ程控模拟空分交换Æ程控数字时分交换 特点: 实时的交换方式,具有固定/专用的通信信道 通信分三步:电路建立、数据传递、电路释放 数据信息透明传送 优点:时延小且确定、通信质量有保证、控制简单 缺点: 需要呼叫建立时间 每个连接带宽固定(不能适应不同速率的业务) 资源利用率低(不传信息时也占用资源,不适合突 发业务) 分组交换:X.25Æ帧中继ÆATM、IPÆMPLS 特点:存储转发交换方式 优点 带宽可变、灵活 统计复用,资源利用率高 可提供速率变换 无阻塞(业务量大时时延长) 可提供优先机制(动态) 缺点 网络功能复杂 语音业务传输时延大,QoS难以保证 两种技术形式 虚电路 面向连接(连接建立/拆除、数据传送、差错控制) 与一次通信有关的全部分组沿着相同的物理通路传送 数据传送期间路由固定 时延小、控制简单、不需排序,线路利用率低 数据报 无连接方式,不建立连接 网络对每个数据报进行选路 通信期间路由可变 灵活、线路利用率高 时延大、控制复杂、需排序 b)未来业务的需求:人们希望IP网能传送数据、语音及更多更新的业务,要求产生业务提供与网络控制

滴滴从KV存储到NewSQL实战

不羁岁月 提交于 2019-12-21 04:29:51
0.导读 本文讲诉滴滴在分布式Nosql存储Fusion之上构建NewSQL的实践之路。详细描述Fusion-NewSQL的特性,应用场景,设计方案。 1.背景 Fusion-NewSQL是由滴滴自研的在分布式KV存储基础上构建的NewSQL存储系统。Fusion-NewSQ兼容了MySQL协议,支持二级索引功能,提供超大规模数据持久化存储和高性能读写。 ▍我们的问题 滴滴的业务快速持续发展,数据量和请求量急剧增长,对存储系统等压力与日俱增。虽然分库分表在一定程度上可以解决数据量和请求增加的需求,但是由于滴滴多条业务线(快车,专车,两轮车等)的业务快速变化,数据库加字段加索引的需求非常频繁,分库分表方案对于频繁的Schema变更操作并不友好,会导致DBA任务繁重,变更周期长,并且对巨大的表操作还会对线上有一定影响。同时,分库分表方案对二级索引支持不友好或者根本不支持。鉴于上述情况,NewSQL数据库方案就成为我们解决业务问题的一个方向。 ▍开源产品调研 最开始,我们调研了开源的分布式NewSQL方案:TIDB。虽然TIDB是非常优秀的NewSQL产品,但是对于我们的业务场景来说,TIDB并不是非常适合,原因如下: 我们需要一款高吞吐,低延迟的数据库解决方案,但是TIDB由于要满足事务,2pc方案天然无法满足低延迟(100ms以内的99rt,甚至50ms内的99rt) 我们的多数业务

Spring框架

血红的双手。 提交于 2019-12-19 12:48:43
---恢复内容开始--- Spring框架:Spring框架的核心 代理模式,AOP,JDBC支持 Spring事务管理 Spring与Mybatis整合 传统开发模式 基于项目框架架构:entity/dao/service/action 1、实体类 class user{} 2、dao class userdao{ 访问数据库} 3、Service class UserService{ UserDao userdao=new……(); } 4、action class userAction{ UserService userservice=new ……(); public void setUserService(UserService userservice){ this.userservice=userservice; } //由别人来创建:控制反转 } 用户访问:user.action--->Tomcat(服务器创建Action,Service,dao) 思考:1、对象创建创建能否写死 2、对象创建细节,对象的个数?创建的时间 3、对象之间的依赖 总结:Spring解决对象的创建,以及对象依赖关系管理 Spring框架:了解专业术语 组件/框架设计:侵入式:对现有的类的结构有影响,需要实现或继承 非侵入式:对现有的类的结构没有影响 控制反转(IOC)