自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(116)
  • 资源 (29)
  • 收藏
  • 关注

原创 【商城】canal数据库数据实时同步利器-代码实战干货

场景说明,因电商业务高并发与实时性要求 ,需要实现多库多表数据实时同步到Elasticsearch,并实现其他消息通知功能。实现方式主要是基于业务 trigger 获取增量变更。业务逐步尝试数据库日志解析获取增量变更进行同步,由此衍生出了大量的数据库增量订阅和消费业务。生产使用Canal版本为1.1.4,MySQL版本为8.x。基于日志增量订阅和消费的业务包括数据库镜像数据库实时备份索引构建和实时维护(拆分异构索引、倒排索引等)业务 cache 刷新带业务逻辑的增量数据处理1、项目说明整

2021-02-01 22:56:09 387 2

原创 【数据平台】之Cassandra大数据利器-大规模数据迁移sstableloader

过去,在Cassandra中批量加载数据一直很困难。尽管Cassandra从一开始就具有BinaryMemtable接口,但是BinaryMemtable难以使用,并且与普通客户端写入相比,吞吐量有了较小的提高。Cassandra 0.8.1引入了解决此问题的新工具: sstableloader使用 sstableloader有关最新信息,请参见 DataStax社区文档。sstableloader 是一种稳定的数据文件处理工具,将已经生成好的数据流式传输到整个群集。它不是简单地将sstables复

2021-01-19 22:22:23 1039 1

原创 【数据平台】之Alluxio内存加速S3文件系统数据利器

Alluxio 是大数据领域数据内存加速利器,是世界上第一个面向基于云的数据分析和人工智能的开源的数据编排技术。 它为数据驱动型应用和存储系统构建提供了桥梁, 将数据从存储层移动到距离数据驱动型应用更近的位置,从而使得数据能够更容易被访问。 这还使得应用程序能够通过一个公共接口连接到许多存储系统。 Alluxio内存至上的层次化架构使得数据的访问速度能比现有方案快几个数量级。在现有大数据生态系统中,Alluxio 位于数据驱动框架或应用(如 Apache Spark、Presto、Tensorflow、A

2021-01-17 22:20:59 1400

原创 【数据平台】之Kafka+Minio数据埋点大数据利器

商城埋点数据,即客户在商城的购买行为的各种浏览数据,是对客户购买行为分析的重要资产。在大数据领域,可以通过收集客户行为数据,分析客户行为规律,进而指导商城各种营销活动制定。例如淘宝和京东展示的各种维度分析报表,可展现客户购买偏好,浏览商品偏好,地域性偏好等;另一个重要应用便是商城“商品推荐”,商城商品推荐便时对客户浏览和购买行为综合分析的结果,在亚马逊“商品推荐”能为企业商城来带40%左右的营收。基于此,对客户行为数据保存就显得至关重要。流程图1、通过kafka实时接收商城端行为(埋点)数据;2、通

2021-01-17 15:59:39 2340 2

原创 【数据平台】之Cassandra大数据利器-代码实战干货I

网上不少采用SpringBoot方式集成cassandra,但这些方式并非官方原生的API直接调用,spring boot体系进行了二次封装,或多或少存在一定的性能损耗,接下来本文将以Cassandra 3.6.x版本为例,阐述如何在生产环境使用官方原生API进行Spring编程。1、POM文件依赖<dependency> <groupId>com.datastax.cassandra</groupId> <artifactId>cassand

2021-01-17 12:35:19 504

原创 【数据平台】之Cassandra大数据利器

Cassandra特点因Cassandra采用了许多容错机制。由于Cassandra是无主的,类似区块链去中心化设计,所以不存在单点故障。可以做到在不停机情况下滚动升级。这是因为Cassandra可以支持多个节点的临时失效(取决于群集大小),对整个群集的性能影响可以忽略不计。Cassandra提供LOCAL和REMOTE模式,支持多地域容灾。Cassandra允许您将数据复制到其他数据中心,并在多个地域保留多副本。除了作为强大的灾难恢复和业务连续性保障之外,这有助于满足许多监管,离线分析等要求。Cas

2021-01-16 23:12:21 2078 1

原创 【商城】Minio+ImgProxy商城图片一站式处理

方法

2021-01-16 17:24:31 3475 1

原创 【商城】Elasticsearch搜索引擎

Elasticsearch作为商城核心框架,主要应用在商城搜索、商品搜索、订单搜索、店铺搜索等搜索场景,起到支撑核心业务的重要作用。下面以为Elasticsearch 6.x为例搭建一套完整的搜索引擎。系统参数配置(1)打开/etc/security/limits.conf,在文件末尾,修改对应参数soft nofile 65536, 可以适当增大到2倍;hard nofile 65536, 可以适当增大到2倍;(2)配置虚拟内存大小打开/etc/sysctl.conf在文件最后添加一行

2021-01-16 15:38:15 782 2

原创 【商城】canal数据库数据实时同步利器

此处将以Alibaba canal([https://github.com/alibaba/canal])为例,说明Canal的使用,Canal作为数据库数据异步实时同步利器,为分库分表条件下数据一致性维护启到重要作用。流程图Canal可以实时异步监听多Master数据库数据变化,并异步将数据同步到给其他应用,这些应用不仅可以使ES集群,也可以是其他相关应用。配置以canal 1.1.4版本为例,支持mysql最新版本8.x,解压后分别配置如下配置canal.properties文件:(1)c

2021-01-16 14:16:29 393

原创 【商城】redis大厂实战应用场景(一览众山小)

redis数据类型redis数据类型有5种,分别是string、list、set、hash、zset,他们在各自领域里面都有哪些实践“应用场景”呢,请继续看完下面内容。string(字符串)也是我们最常用的数据类型,通常用于将数据转换后存储到到Redis缓存,常用的方法有set和get方法,这里就不做过多介绍。计数器INCR article:readcount:{文章id}Web集群session共享Spring session + redis实现session共享分布式系统全局序列号I

2020-05-23 17:46:43 2057

原创 【商城】redis分布式缓存安全应用(穿透问题)

缓存穿透什么是缓存穿透?缓存里面不存在数据,数据库里面也不存在的数据。新的请求(例如黑客恶意攻击:https://item.jd.com/6729892714444444.html查询一个不存在商品)进来会不断查询数据库,严重可能会导致数据库服务停止。Null值返回解决方案:如果数据库查询不到数据,缓存Null值的对象返回。布隆过滤器显然返回Null值方案存在问题,如果查询编码不存在数据,之后又新增了此编号的数据,将导致此数据永远查不到。布隆过滤器(性能问题不用担心,可以自行查阅资料),例如将商

2020-05-14 17:20:08 271

原创 【商城】redis分布式缓存更新应用(击穿问题)

缓存击穿 什么是缓存击穿?数据库里面数据存在,缓存数据因某种原因不存在,导致大量请求到数据库获取数据现象。这种现象有可能会导致数据库connections数耗尽,严重会导致数据库服务停止。分布式锁解决方案 防止请求穿透到数据库,可以使用分布式锁方式实现,例如查询商品数据; public Product getProductById(Long productId){ log.debug("查询商品信息id:{}", productId); //1、从本地缓存获取

2020-05-14 16:55:52 302

原创 分布式缓存一致性问题方案

方案名称 技术特点 优点 缺点 适用 场景说明 数据实时同步更新 强一致性,更新数据库同时更新缓存,使用缓存工具和AOP实现 数据一致性强,不会出现缓存雪崩问题 代码耦合,运行期耦合 ,影响正常业务 ,增加一致网络开销 银行 适合写操作频繁的细粒度缓存数据,数据一致性要求比较高场景,如:银行业务,证券交易;不适合写操作较少粗粒度数据; 数据准实时更新 准一致性,更新数据库后,异步更新缓存,使用AOP进行封装基于多线程或者MQ实现

2020-05-11 12:31:07 605

原创 【商城】redis分布式多级缓存应用(瓶颈之殇)

缓存发发发你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片拖拽 功能,你可以

2020-05-11 09:17:18 765

原创 状态机复制 (State Machine Replication)

分区容错如何保证? 在分布式系统设计中,需要遵循CAP理论,如果我们要让一个服务具有容错能力,那么最常用最直接的办法就是让一个服务的多个副本同时运行在不同的节点上。但是,当一个服务的多个副本都在运行的时候,我们如何保证它们的状态都是同步...

2019-05-03 14:21:45 4887

翻译 Nginx反向代理和负载均衡部署

1.        安装1)         从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx最新版本(目前是1.5.13版本)安装包;2)         解压后复制到部署目录。 2.        启动和停止NginxNginx目前只支持命令行操作,操作前先进入Dos命令环境,并进入Nginx部署目录。1)

2017-07-21 14:17:21 525

转载 Spring Boot 动态多数据源

摘要: 本文实现案例场景: 某系统除了需要从自己的主要数据库上读取和管理数据外,还有一部分业务涉及到其他多个数据库,要求可以在任何方法上可以灵活指定具体要操作的数据库。 为了在开发中以最简单的方法使用,本文基于注解和AOP的方法实现,在spring boot框架的项目中,添加本文实现的代码类后,只需要配置好数据源就可以直接通过注解使用,简单方便。本文实现案例场景:某系统除了需要从自

2017-07-20 22:08:12 668

原创 直播 点播服务视频流媒体方案简析

视频流媒体   视频流媒体被广泛应用于视频直播,智能交通,智能办公,社交媒体等行业,视频流媒体的使用极大的方便人们的生活方式,带来了远距离的数字化方案。编码技术MPEG-1MPEG-1是MPEG组织制定的第一个视频和音频有损压缩标准。视频压缩算法于1990年定义完成。1992年底,MPEG-1正式被批准成为国际标准。MPEG-1标准用于数字存储体上动态图

2016-12-02 16:42:06 4145

转载 MVVM 模式优化MVC模式之With ReactiveCocoa

作者:@雷纯锋2011MVVM 是一种软件架构模式,它是 Martin Fowler 的 Presentation Model 的一种变体,最先由微软的架构师 John Gossman 在 2005 年提出,并应用在微软的 WPF 和 Silverlight 软件开发中。MVVM 衍生于 MVC ,是对 MVC 的一种演进,它促进了 UI 代码与业务逻辑的分离。说明:本文将

2016-03-30 10:38:19 744

转载 ASIHTTPRequest框架使用总结系列

对于ASIHTTPRequest框架有过一些介简单绍 ,最新版本下载地址:http://allseeing-i.com/ASIHTTPRequest/ 。     该框架具有如下优点   1.支持将下载数据放在内存和应答http头。   2.容易访问请求和应答http头。   3.支持cookie。   4.支持gzip请求或应答。   5.支持

2016-03-27 21:17:17 939

转载 IOS开发UI篇—懒加载

1.懒加载基本懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小)。所谓懒加载,写的是其get方法.注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化2.使用懒加载的好处:(1)不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强(2)每个控件的getter方法中分别负责各自的实例化处理,代

2016-03-25 23:54:26 411

原创 Objective-C程序设计 第6版

Objective-C程序设计  第6版,原版,完整版本,下载后大家给点帮助,谢谢!   百度网盘地址: http://pan.baidu.com/s/1numGurZ 密码: b47e

2016-03-23 19:25:16 1492

原创 Java B/S系统的颠覆开发Google AngularJs

Material管理是谷歌管理控制台模板Material设计的启发引导和AngularJS建立,全新的交互式界面,让你轻松开发出现代B/S架构应用程序。特征:谷歌的Material设计Material设计管理模板和登陆页面,2在1强大的布局多色彩方案SASS的CSS使用jQuery嵌套路由国际化支持用Angular

2016-03-12 19:05:55 737

翻译 AngularJS 五大特性(为克服HTML在构建应用上的不足而设计)

AngularJS 是谷歌的一个 JavaScript 框架,旨在简化前端应用程序的开发。如果你在开发单页的应用程序,我敢肯定你已经听说过它。我是 AngularJS 的忠实粉丝,在这篇文章中我将概述五条我为什么这么喜欢它的原因。  #1 良好的应用程序结构  通常情况下,我们编写 JavaScript 没有明确的结构。虽然在编写小应用程序的时候没有问题

2016-03-07 10:38:55 987

翻译 AngularJS

简介  AngularJS是为了克服HTML在构建应用上的不足而设计的。HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了。所以我做了一些工作(你也可以觉得是小花招)来让浏览器做我想要的事。  通常,我们是通过以下技术来解决静态网页技术在构建动态应用上的不足:  类库 - 类库是一些函数的集合,它能帮助你写WEB应用。起主导作用的是你的

2016-03-07 10:30:50 1072

翻译 16. Spring Security 基于表达式的权限控制

基于表达式的权限控制目录1.1      通过表达式控制URL权限1.2      通过表达式控制方法权限1.2.1     使用@PreAuthorize和@PostAuthorize进行访问控制1.2.2     使用@PreFilter和@PostFilter进行过滤1.3      使用hasPermission表达式        Spring Secur

2015-11-29 21:56:58 1232

翻译 15. Spring Security 权限鉴定结构

权限鉴定结构目录1.1      权限1.2      调用前的处理1.2.1     AccessDecisionManager1.2.2     基于投票的AccessDecisionManager实现1.3      调用后的处理1.4      角色的继承 1.1    权限       所有的Authentication实现类都保存了一个Grant

2015-11-29 21:55:37 1026

翻译 14. Spring Security 权限鉴定基础

权限鉴定基础 目录1.1     Spring Security的AOP Advice思想1.2     AbstractSecurityInterceptor1.2.1    ConfigAttribute1.2.2    RunAsManager1.2.3    AfterInvocationManager        Spring Security的权限

2015-11-29 21:54:05 883

翻译 13. Spring Security session管理

session管理目录 1.1     检测session超时1.2     concurrency-control1.3     session 固定攻击保护        Spring Security通过http元素下的子元素session-management提供了对Http Session管理的支持。 1.1     检测session超时    

2015-11-29 21:52:22 2892

翻译 12. Spring Security Remember-Me功能

Remember-Me功能 目录 1.1     概述1.2     基于简单加密token的方法1.3     基于持久化token的方法1.4     Remember-Me相关接口和实现类1.4.1    TokenBasedRememberMeServices1.4.2    PersistentTokenBasedRememberMeServices

2015-11-29 21:50:49 611

翻译 11. pring Security 匿名认证

匿名认证目录1.1     配置1.2     AuthenticationTrustResolver        对于匿名访问的用户,Spring Security支持为其建立一个匿名的AnonymousAuthenticationToken存放在SecurityContextHolder中,这就是所谓的匿名认证。这样在以后进行权限认证或者做其它操作时我们就不需要再判断Se

2015-11-29 21:49:06 1032

翻译 9. Spring Security Filter

Filter目录1.1     Filter顺序1.2     添加Filter到FilterChain1.3     DelegatingFilterProxy1.4     FilterChainProxy1.5     Spring Security定义好的核心Filter1.5.1    FilterSecurityInterceptor1.5.2    E

2015-11-29 17:14:44 818

翻译 10. Spring Security 退出登录logout

要实现退出登录的功能我们需要在http元素下定义logout元素,这样Spring Security将自动为我们添加用于处理退出登录的过滤器LogoutFilter到FilterChain。当我们指定了http元素的auto-config属性为true时logout定义是会自动配置的,此时我们默认退出登录的URL为“/j_spring_security_logout”,可以通过logout元素的l

2015-11-29 17:12:48 3064

翻译 8. Spring Security intercept-url配置

intercept-url配置目录1.1     指定拦截的url1.2     指定访问权限1.3     指定访问协议1.4     指定请求方法 1.1    指定拦截的url       通过pattern指定当前intercept-url定义应当作用于哪些url。"/**" access="ROLE_USER"/> 1.2     指定访问权限

2015-11-29 17:11:02 8127

翻译 7. Spring Security缓存UserDetails

Spring Security提供了一个实现了可以缓存UserDetails的UserDetailsService实现类,CachingUserDetailsService。该类的构造接收一个用于真正加载UserDetails的UserDetailsService实现类。当需要加载UserDetails时,其首先会从缓存中获取,如果缓存中没有对应的UserDetails存在,则使用持有的UserD

2015-11-29 17:09:14 1705

翻译 6. Spring Security AuthenticationProvider

AuthenticationProvider目录1.1     用户信息从数据库获取1.1.1    使用jdbc-user-service获取1.1.2    直接使用JdbcDaoImpl1.2     PasswordEncoder1.2.1    使用内置的PasswordEncoder1.2.2    使用自定义的PasswordEncoder    

2015-11-29 17:07:12 816

翻译 5. Spring Security异常信息本地化

异常信息本地化        Spring Security支持将展现给终端用户看的异常信息本地化,这些信息包括认证失败、访问被拒绝等。而对于展现给开发者看的异常信息和日志信息(如配置错误)则是不能够进行本地化的,它们是以英文硬编码在Spring Security的代码中的。在Spring-Security-core-xxx.jar包的org.springframework.securit

2015-11-29 17:04:54 1583

翻译 4. Spring Security 认证简介

认证简介目录1.1     认证过程1.2     Web应用的认证过程1.2.1    ExceptionTranslationFilter1.2.2    在request之间共享SecurityContext 1.1     认证过程       1、用户使用用户名和密码进行登录。       2、Spring Security将获取到的用户名和密码封装成

2015-11-29 17:02:30 1401 1

翻译 3. Spring Security 核心类简介

核心类简介目录1.1     Authentication1.2     SecurityContextHolder1.3     AuthenticationManager和AuthenticationProvider1.3.1    认证成功后清除凭证1.4     UserDetailsService1.4.1    JdbcDaoImpl1.4.2    I

2015-11-29 17:00:58 726

翻译 2. Spring Security 关于登录

关于登录目录1.1     form-login元素介绍1.1.1    使用自定义登录页面1.1.2    指定登录后的页面1.1.3    指定登录失败后的页面1.2     http-basic 1.1     form-login元素介绍       http元素下的form-login元素是用来定义表单登录信息的。当我们什么属性都不指定的时候Sprin

2015-11-29 16:58:04 657

2024如何制定年度规划(1).pptx

规划文档ppt

2024-01-02

spark thriftserver(或hive)基于mysql8.x元数据库

支持mysql8.x,使用utf8mb4编码。

2021-09-19

nfs-utils.tar.gz

nfs离线安装包,也可通过离线命令下载到本地目录: yum -y install --downloadonly --downloaddir /root/nfs nfs-utils

2021-07-04

elasticsearch-http-client.zip

真正实战商城客户端搜索引擎代码

2021-03-07

search-client.zip

真正实战商城客户端搜索引擎代码

2021-03-07

product-center-common.zip

商品中心,Canal使用Common类

2021-01-31

product-center-canal.zip

Canal全流程处理代码实战,数据解析,数据监听,数据处理,生产实战代码

2021-01-31

iOS组件与框架 iOS SDK高级特性剖析

iOS组件与框架 iOS SDK高级特性剖析,全方位讲解了 UI的设计和UI高级类库的使用;

2016-07-07

史上最好的苹果开发文档

史上最好的苹果端开发文档,从此处开始,你将探得意外的收获。当然如果你想更加深入的了解,请访问:https://niyao88.taobao.com/

2016-03-14

有史以来最好的.net三层架构+AngularJs

有史以来最好的.net三层架构实例,让你真正高效掌握

2016-03-12

给IT一份优秀的PPT

一份优秀的PPT,,适合开发者做各种优秀的工作。

2016-03-07

史上最好的.net三层架构实例

史上最好的.net三层架构实例,让你真正高效掌握

2016-03-07

C++编程思想

C++编程思想是权威的C++家族的翘楚之一,C++编程思想用巧妙的方式全方位阐述了C++的企业级权威发布应用。

2015-11-30

C++编程实践

C++编程思想是权威的C++家族的翘楚

2015-11-30

More Exceptional C++

More Exceptional C++ 以实例方式告诉我们如何有效进行坚实的软件工程,是 Exceptional C++进行有效深入的研究。

2015-11-30

Modern C++ 设计

这本书将代你从低版本的VC6.0 到高版本VS2010甚至更高版本的演变,让你极限编程,畅想C++带来的魅力。

2015-11-30

Exceptional C++

Exceptional C++ 以实例方式告诉我们如何有效进行坚实的软件工程

2015-11-30

Essential C++

C++面向对象编程技术的极点,有效的C++(Essential C++)不仅从技术上给予C++程序员深入指导,而且从思想上解放C++开发者,并且已经成为深入学习C++面向对象编程俱佳书籍

2015-11-30

Effective C++(有效的C++)

有效的C++(Effective C++)不仅从技术上给予C++程序员深入指导,而且从思想上解放C++开发者,并且已经成为深入学习C++俱佳书籍

2015-11-30

Effective STL

Effective STL 不仅从技术上给予C++程序员深入指导,而且从思想上解放C++开发者 是深入学习C++俱佳书籍

2015-11-30

实战企业级分拣系统

真正的工业应用,让你具备超强的工业设计与应用能力,成为工业巨头,德马泰克也要臣服脚下!自动分拣系统秒杀快递,啊哈。

2015-11-27

最流行的java web开发框架

最流行的Java web开发框架,java web框架是目前为止最完整、最强大、最时髦的框架,即使是华为、阿里巴巴、京东等也不例外 。

2015-11-08

Mx Component Version4

好的东西大家要乐于分享,分享才能彼此进步!

2014-09-26

微软权威的图表演示程序

对进行图标开发的人员来说,这绝对是首选。

2014-08-13

心跳按钮+圆形按钮源代码

如Iphone上的按钮,可以自由跳动,跳动频率自由设定,按钮支持各种形状。再加上圆形按钮绝对是唯一。

2014-08-13

快速准确搭建好SSH框架开发环境

在java web开发中我们总是一直专注于传统的编程方式,但是利用Stuts + Hibernate + Spring框架会让你的编程变得更加的简单高效

2012-03-27

高校实验室建设与系统维护

信息系统的建设是一个非常复杂的过程,但是这个资源能够让你感受真正的信息系统的基本建设。

2012-03-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除