摘要:
一、ElasticSearch簡介 1、ElasticSearch簡介 Elasticsearch是一個基于Apache Lucene(TM)的開源搜索引擎。無論在開源還是專有領(lǐng)域,Lucene可以被認(rèn)為是迄今為止最先進(jìn)、性能最好的、功能最全的搜索引擎庫。 但是,Lucene只是一個庫。想要使用它,
閱讀全文
posted @ 2020-10-30 17:29
kosamino
閱讀(865)
推薦(0)
摘要:
Kafka是一個高性能,高容錯,多副本,可復(fù)制的分布式消息系統(tǒng)。在整個系統(tǒng)中,涉及到多處選舉機(jī)制,被不少人搞混,這里總結(jié)一下,本篇文章大概會從三個方面來講解。 控制器(Broker)選主 分區(qū)多副本選主 消費(fèi)組選主 1、控制器(Broker)選舉 所謂控制器就是一個Borker,在一個kafka集群
閱讀全文
posted @ 2020-10-24 19:21
kosamino
閱讀(5882)
推薦(1)
摘要:
一、Producer原理分析 1、Producer運(yùn)行流程 整個生產(chǎn)者客戶端由兩個線程協(xié)調(diào)運(yùn)行,這兩個線程分別為主線程和 Sender 線程 (發(fā)送線程)。在主線程中由 KafkaProducer 創(chuàng)建消息,然后通過可能的攔截器、序列化器和分區(qū)器的作用之后緩存到消息累加器( RecordAccumu
閱讀全文
posted @ 2020-10-22 21:29
kosamino
閱讀(871)
推薦(0)
摘要:
kafka的配置文件包含server.properties、proceducer.properties、consumer.properties, 分別為 broker、producer、consumer三個不同的配置。 一、Broker配置 最為核心的三個配置 broker.id、log.dir、z
閱讀全文
posted @ 2020-10-16 17:50
kosamino
閱讀(4891)
推薦(1)
摘要:
一、kafka簡介 Kafka是最初由Linkedin公司開發(fā),是一個分布式、支持分區(qū)的(partition)、多副本的(replica), 基于zookeeper協(xié)調(diào)的分布式消息系統(tǒng),它的最大的特性就是可以實時的處理大量數(shù)據(jù)以滿足各種需求 場景:比如基于hadoop的批處理系統(tǒng)、低延遲的實時系統(tǒng)、
閱讀全文
posted @ 2020-10-16 02:27
kosamino
閱讀(528)
推薦(1)
摘要:
1、Lombok簡介 Lombok是一個插件,其主要用途是提供了簡單的注解的形式來幫助我們簡化消除一些必須有但顯得很臃腫的 java 代碼,提高編碼效率,使代碼更簡潔。 Lombok能以簡單的注解形式來簡化java代碼,提高開發(fā)人員的開發(fā)效率。例如開發(fā)中經(jīng)常需要寫的javabean,都需要花時間去添
閱讀全文
posted @ 2020-10-11 17:48
kosamino
閱讀(14363)
推薦(0)
摘要:
一、概念普及 Java8新添加了一個特性:流Stream。Stream讓開發(fā)者能夠以一種聲明的方式處理數(shù)據(jù)源(集合、數(shù)組等),它專注于對數(shù)據(jù)源進(jìn)行各種高效的聚合操作(aggregate operation)和大批量數(shù)據(jù)操作 (bulk data operation)。 Stream API將處理的數(shù)
閱讀全文
posted @ 2020-09-29 19:26
kosamino
閱讀(1117)
推薦(1)
摘要:
一、簡介 Optional類是Java8為了解決null值判斷問題,借鑒google guava類庫的Optional類而引入的一個同名Optional類,使用Optional類可以避免顯式的null值判斷(null的防御性檢查),避免null導(dǎo)致的NPE(NullPointerException)
閱讀全文
posted @ 2020-09-23 01:52
kosamino
閱讀(763)
推薦(0)
摘要:
一、Lambda簡介 Lambda 表達(dá)式是 JDK8 的一個新特性,可以取代大部分的匿名內(nèi)部類,寫出更優(yōu)雅的 Java 代碼,尤其在集合的遍歷和其他集合操作中,可以極大地優(yōu)化代碼結(jié)構(gòu)。 JDK 也提供了大量的內(nèi)置函數(shù)式接口供我們使用,使得 Lambda 表達(dá)式的運(yùn)用更加方便、高效。 二、對接口的要
閱讀全文
posted @ 2020-09-22 16:12
kosamino
閱讀(2208)
推薦(0)
摘要:
一、rocketMQ簡介 RocektMQ是阿里巴巴在2012年開源的一個純java、分布式、隊列模型的第三代消息中間件。 2016年11月11號,雙十一大促見證了RocketMQ低延遲存儲架構(gòu)的成功試水,99.996%的延遲落在了10ms以內(nèi),極個別由于GC引發(fā)的停頓在50ms以內(nèi),其高性能、低延
閱讀全文
posted @ 2020-07-20 16:09
kosamino
閱讀(4719)
推薦(0)
摘要:
一、如何選擇合適的列建立索引 在where從句,group by從句,order by從句,on從句中出現(xiàn)的列 索引字段越小越好 離散度大的列放到聯(lián)合索引的前面 explain select * from payment where staff_id=2 and customer_id=584; -
閱讀全文
posted @ 2020-05-28 16:18
kosamino
閱讀(853)
推薦(0)
摘要:
備注: 環(huán)境mysql5.6.38 一、EXPLAIN執(zhí)行計劃 使用EXPLAIN關(guān)鍵字可以模擬優(yōu)化器執(zhí)行SQL語句,從而知道MySQL是 如何處理你的SQL語句的,分析 你的查詢語句或者表結(jié)構(gòu)的性能瓶頸。 語法 :Explain + SQL語句 在 select 語句之前增加 explain 關(guān)鍵
閱讀全文
posted @ 2020-05-25 23:57
kosamino
閱讀(937)
推薦(0)
摘要:
一、鎖的定義 鎖是計算機(jī)協(xié)調(diào)多個進(jìn)程或線程并發(fā)訪問某一資源的機(jī)制。在數(shù)據(jù)庫中,除了傳統(tǒng)的計算資源(如CPU、RAM、I/O等)的爭用以外,數(shù)據(jù)也是一種供需要用戶共 享的資源。如何保證數(shù)據(jù)并發(fā)訪問的一致性、有效性是所有數(shù)據(jù)庫必須解決的一個問題,鎖沖突也是影響數(shù)據(jù)庫并發(fā)訪問性能的一個重要因素。從這個角度
閱讀全文
posted @ 2020-05-23 19:18
kosamino
閱讀(491)
推薦(0)
摘要:
一、SelectOne和自定義方法區(qū)別 首先我們來看看我們有兩種方式實現(xiàn)Mybatis調(diào)用,一種是XML,一種是注解,分別如下: SqlSession session = sqlSessionFactory.openSession(); try { //方式一:mapper配置文件XML配置SQL
閱讀全文
posted @ 2020-05-20 19:53
kosamino
閱讀(856)
推薦(0)
摘要:
一、整體流程 Mybatis是一種ORM對象關(guān)系映射架構(gòu),實現(xiàn)Java Object和數(shù)據(jù)庫字段映射。 如上圖所示,Mybatis就是根據(jù)Java配置的數(shù)據(jù)源(driver、url、username、password)以及Mapper配置SQL(DQL查詢、DML修改、DDL create)語句,基
閱讀全文
posted @ 2020-05-19 18:16
kosamino
閱讀(514)
推薦(0)