-------------------------------------------
List<String> preDecNoList = Lists.newArrayList();
listUpdateGeDec.forEach(updateGeDec-> preDecNoList.add(updateGeDec.getPreDecNo()));
--------------------------------------------
verifyPartList.forEach(verifyPart->{
decMessageVerifyPartInfoDTOS.addAll(createDecMessageVerifyPartData(listUpdateGeDec, verifyPart));
});
----------------------------------------------
Optional<Organization> organization = organizationRepository.findOneByOrgCode(insertGeDec.getOwner());
Optional<String> orgNameOpt = Optional.ofNullable(organization.orElseGet(Organization::new).getOrgName());
insertGeDec.setOrgName(orgNameOpt.orElse(insertGeDec.getOwner()));
---------------------------------------------
List<DecMessageVerifyData> decMessageVerifyDataSaveList = decMessageVerifyDataRepository.findByStatus(STATUS_SAVE);
List<DecMessageVerifyData> chainDataForSave = new ArrayList<>();
if(!decMessageVerifyDataSaveList.isEmpty()){
decMessageVerifyDataSaveList.stream().forEach(decMessageVerifyData -> {
Optional<GeDecMessage> optionalGeDecMessage = geDecMessageRepository.findByDataId(decMessageVerifyData.getOriginDataId());
if(optionalGeDecMessage.isPresent()){
decMessageVerifyDataRepository.deleteById(decMessageVerifyData.getId());
}else{
//已保存的数据统计上链
chainDataForSave.add(decMessageVerifyData);
}
});
}
arrayList 线程不安全
vector
treeset和hashset的区别
hashMap和hashTable 线程不安全
set 无序的,不重复
ArrayList<Object> li = new ArrayList<>();
Collections.synchronizedList(li).parallelStream().forEach(l -> {
if(1 == 1){
}
});
thread local 当前线程变量
微服务架构下的数据一致性保证:
https://www.cnblogs.com/duanxz/p/7866516.html
为了保障系统的可用性,互联网系统大多将强一致性需求转换成最终一致性的需求
实现最终一致性有三种模式:可靠事件模式、业务补偿模式、TCC模式
也有异步的,如果对时效性要求不高,做最终一致性
LCN5.0.2有3种模式,分别是LCN模式,TCC模式,TXC模式
https://blog.csdn.net/ningjiebing/article/details/89948050
zookeeper是如何保证数据一致性的呢?
https://blog.csdn.net/liuhaiabc/article/details/70771322
zookeeper的作用:
1、注册中心
zookeeper和eureka的区别:
https://blog.csdn.net/java_xth/article/details/82621776
eureka:只要有一台eureka没挂,则服务仍可注册而 Eureka 的客户端在向某个 Eureka 注册或时如果发现连接失败,则会自动切换至其它节点,只要有一台 Eureka 还在,就能保证注册服务可用(即保证A原则),只不过查到的信息可能不是最新的
短时间内数据不一致的情况