[セコイア]データベースSequoiaDB国内の地方の農業手紙分散データベース・アプリケーションの練習

この記事では、「電子金融」から転載しました

著者:

吉林省農村信用協同組合インフォメーションテクノロジーセンター 

日ギャング、ゼネラルマネージャー、アシスタントゼネラルマネージャーチェンYongyi

モバイルインターネットの急速な発展に伴い、分散型アーキテクチャは、広くITの分野で使用され、インターネット技術は、実務経験の富を蓄積してきました。インターネットバンキングや金利市場環境の急速な発展で、建設が大規模なクライアント、柔軟な拡張性をサポートすることができ、効率的かつ柔軟な分散型アーキテクチャのアプリケーションシステムは、国内の金融業界が早急に必要となっています。

分散データベースアプリケーションのトレンド
「、最適化のプロセスと顧客の信用評価モデルへの金融技術手段をフルに活用する資金調達コストの削減、民間企業を和らげ、あなたの問題を融資小零細事業の資金調達に設計された代理店の包括的な金融プラットフォーム、強化実体経済、金融サービス機能を提供します。」
[セコイア]データベースSequoiaDB国内の地方の農業手紙分散データベース・アプリケーションの練習

プラット・アンド・ホイットニーが集中技術アーキテクチャを踏襲している場合、インターネットのシーンにアクセスする能力を持っている、伝統的な信用システムとインターネットアプリケーションの典型的な金融サービス、で、インターネットアプリケーションのシナリオ、およびに対処する総所有コストの巨大な潜在的な顧客の以下の側面があります問題:

集中型アーキテクチャは、一般的に弾性的に伸縮する能力を欠いています。取引量やデータ量の増加に伴い、システム全体のスループットが問題かハードウェア技術が発生します。インターネット関連企業の顧客に対するサポートは、効果的に、同​​時トランザクションの高い過渡発生を扱う大規模な顧客獲得やマーケティング事業を制限することはできません場合は特に。

集中型アーキテクチャでは、単一のアプリケーションの設計を使用しています。ソフトウェアの開発と管理の最小単位は、アプリケーションを実行して、管理および厚い、簡単に「全体としての状況に影響を与える」とされ、アプリケーションの開発プロセスは、軽量なアジャイル開発の理念を実践することは容易ではない、動作中の単一障害点になりやすいシステム、効率的に障害の分離を行うことが困難。

集中型アーキテクチャの基盤システムは、典型的には、ハイエンドサーバとストレージデバイスと同様に、従来のリレーショナルデータベースを使用します。ハードウェアとソフトウェアの調達、開発、運用・保守サービスの高コストは主にメーカーに依存し、高いサービスの費用は、完全に自己制御することはできません。

クローズド技術システムは、技術開発は、海外メーカーに特に依存、ベンダに大きく依存している、商業銀行のITチームは、自己制御能力が欠けている、ある程度の情報セキュリティ上のリスクがあります。

我社在规划新一代普惠金融平台建设时,从战略高度对上述问题进行深入分析与思考,立足长远发展规划,从横纵两个角度看待该分布式系统的研发,即在数据方面着眼于分布式数据库,在功能层面则引入微服务架构,进而真正实现全方位分布式框架的金融服务底层系统。同时,响应国家对技术自主可控的要求,选择国产分布式数据库,有效控制IT成本和实现技术自主可控。

国产分布式数据库应用实践
普惠金融平台与传统业务系统不同,具有互联网场景接入能力,获客方式发生了变化。为了满足客户申请贷款的爆发式增长,在审批方式和流程上有所改变,对企业征信和智能风控的要求更高。随着细分领域竞争的加剧,平台应用需要不断调整、随时迭代。

经过仔细而严格的评选,最终我社采用国产分布式数据库—SequoiaDB巨杉数据库作为底层分布式数据库平台。

平台应用利用分布式数据库计算-存储层分离技术,将协议解析、计算等模块与底层存储解耦,存储层通过多维分区实现弹性扩张,计算层采用无状态设计,独立部署,通过动态增加数据库实例线性提升计算能力,有效应对瞬时爆发的高并发海量交易,分布式数据库平台同时完整兼容MySQL、PosgreSQL和SparkSQL针对应用提供较高兼容性。

平台应用开发基于Spring Cloud微服务框架,业务逻辑从传统的单一中间件被拆解成众多微服务组件,分布式数据库实例服务层提供了可选择、可适配、可动态伸缩的标准数据库计算引擎,可根据应用的场景灵活选择。应用开发采用数据库分布式计算引擎,面向联机交易的业务场景,采用兼容MySQL的计算实例,批处理业务场景选用兼容SparkSQL的计算实例。实例通过访问分布式数据库不同的数据副本,实现对数据的并行处理和多元利用(一份数据,多种用途)。

以下是联机业务应用分布式数据库的几个技术要点:

1.分布式架构下的应用设计

分布式数据库的核心机制即是将海量数据通过某种算法切分到一个或多个分区中。每个数据分区可以使用不同的物理服务器,通过网络设备将服务器连接到一起,以构成一个逻辑上对外统一的数据库服务。因此,如何将数据进行均匀切分、如何在切分后对数据进行快速检索,是分布式策略必须优先保障的内容。

分布式数据库切分规则包括:

(1)散列分区:散列分区指的是在数据写入的过程中,针对指定分区字段的值进行散列后,判断其数据物理存放分区的规则。
[セコイア]データベースSequoiaDB国内の地方の農業手紙分散データベース・アプリケーションの練習
 (2)范围分区:范围分区指的是在数据写入的过程中,针对指定分区字段的值判断其所在范围,根据数据所在范围对应的数据分区,判断其物理位置的规则。
[セコイア]データベースSequoiaDB国内の地方の農業手紙分散データベース・アプリケーションの練習
 (3)多维混合分区:多维混合分区是散列分区与范围分区的结合。在多维混合分区中,用户在建表时可以指定两个不同的字段,首先根据第一个字段进行范围的判定,之后再根据第二个字段在该范围所对应的一系列物理服务器中进行散列判断其位置。
[セコイア]データベースSequoiaDB国内の地方の農業手紙分散データベース・アプリケーションの練習

在我社新一代普惠金融服务平台项目中,对于数据库表结构的设计面向数据特征有针对性地定义分区字段与规则。在实践的过程中,极大提升应用的效率与并发能力,避免了传统架构中数据库成为瓶颈与热点的问题。

2.分布式微服务架构下的数据一致性保证

在利用分布式数据库系统实现底层业务支撑时,会带来很多传统集中式数据库无法比拟的特性,例如:分布式容错能力、弹性可扩展能力等,这些都是对银行等金融行业来说至关重要的优化因素。分布式数据库系统之所以能够具有这些能力,主要是因为它的分布式存储特性,即每个节点保存完整数据库的一部分,而在其它若干节点上部署它的副本。那么,为了实现这样的分布式数据库系统,使之发挥应有的能力,很重要的一环就是在于它的一致性策略。

在实践的过程中,我社重点研究并解决了行业内公认的分布式环境下端到端数据一致性与数据安全的难题:

(1)利用柔性事务保证微服务之间的数据一致性;

通过平台对分布式数据库在银行领域应用策略的研究,深入了解分布式底层技术,利用柔性事务TCC实现微服务之间数据一致性。普惠金融平台应用开发基于Spring Cloud微服务框架,应用程序微服务开发规范明确了每组微服务必须提供try-confirm-cancel接口,遵循对微服务的分布式事务所提出的RESTful TCC解决方案,结合Spring Cloud Netflix和分布式柔性事务实现微服务之间的数据一致性。

(2)在微服务内部,通过分布式数据库技术实现自动化事务一致性保障;

结合普惠金融系统业务数据的特点,合理运用数据多维分区策略,并利用分布式数据库技术,在两阶段提交(2PC)基础之上,针对异常故障场景,实现自动化的事务一致性保障。

为了保证数据的一致性,需要维护一个全局唯一性的ID来区别并发的事务,标识产生或变更的数据,实现这样一个全局唯一的ID通常结合事务发起的时间,依赖时间戳加上其他的一些标识位。国产分布式数据系统,专门设计了一套全分布的逻辑时钟机制,避免了强制所有参与节点从GTM中获取唯一ID的步骤,同时又能满足分布式存储和处理的要求。

3.分布式数据库跨同城数据中心部署

基于分布式数据库完善的多副本数据同步机制,实现跨同城双中心部署,支持数据的容灾与高可用,实现新一代普惠金融平台应用跨数据中心运行,当主中心出现灾难时,数据零丢失,分布式数据库自动容灾切换,对应用系统完全透明。下图是省联社普惠金融平台分布式数据库应用的双活部署示意图:

 [セコイア]データベースSequoiaDB国内の地方の農業手紙分散データベース・アプリケーションの練習

项目创新成果
1.分布式架构转型与金融国产化

分布式数据库提供灵活、弹性、便捷、融合的数据服务能力,应对瞬时爆发型业务量增长,与微服务架构相结合,为应用的敏捷迭代开发打下了良好的基础,快速推出创新、差异化、跨界的金融服务和产品。

分散データベースジャイアントセコイア・データベースの家庭は、基礎となるコードは、完全に自己制御され、結合コア技術を回避するために、外国のデータベース製品を交換するには、2つの最適化されたハードウェアおよびソフトウェアの2つの性能と効率のレベル、短期戦術アプリケーション全体の総合的を達成するために2つの角度を最適化するために、長期的な開発戦略。また、口座に実用的な方法を模索するために農村信用協同組合や他の金融機関の建設を中心にデータセンターの将来のために生き組み合わせを通じて配信されたデータとアプリケーションの展開とライブの練習をオフサイトのディザスタリカバリを取ります。

分散環境下での2エンドのデータの整合性

練習中に、また調査し、産業の下で解決機関は、環境データの一貫性とデータの問題を分散確保するために、エンドエンド認識:(1)柔軟なマイクロトランザクションサービスとの整合性を確保するためのデータを利用する。(2 )分散データベース技術によってトランザクションの整合性保証を自動マイクロサービス、内部、(3)データセンタおよび高可用性の問題を横断ライブデータの整合性を解決するために、分散データベース・システムを使用して。

マイクロサービスの枠組みの下で、仮想化、クラウド環境では、代理店は、分散システムのマルチレベルのデータの整合性を完了した効率的な弾力性のスケーラブルな、最終的には一貫性のあるトランザクション処理、ミクロレベルのデータ保護サービスと異なる場所でのライブを実現しますこうした災害復旧などの優れた機能には、さらなる発展の可能性への強力な推進力を提供し、技術の背景と金融改革の銀行や他の金融システムをアップグレードします。

3.最大の経済効率と社会的を達成するために

Iに深い研究、精錬の一般的なインターネット金融事業を実施し、インターネット金融業界のクラブは、強力かつ安定した顧客口座のセット、製品革新と承認のための完全なサイクル会計、業務の自動化に基づいてビルド弾力性のマルチレベルマルチプラットフォームシステムを立ち上げ、インテリジェント包括的な金融プラットフォームの一つとして、リスク管理。金融サービスの差別割り当て、製品統合、双方向サービス、会計およびクロスボーダーのインターネットの製品の他の機能の完了を顧客に提供するためのプラットフォーム。だけでなく、包括的な金融、インターネット金融サービスの包括的なパッケージを提供するだけでなく、インターネット金融サービス会社の急速な発展のための強固な基盤を築きました。

 

おすすめ

転載: blog.51cto.com/13722387/2465751