范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

大数据存储加速与服务化在Shopee的实践

  导读: 本次分享主要包括四个方面:   存储现状   存储加速   存储服务化   未来规划
  分享嘉宾 丁天宝/孙颢宁 Shopee Data Infra
  编辑整理 冯蕾蕾 我爱我家
  内容来源 大数据存储架构峰会(3月26日)
  出品社区 DataFun
  01
  存储现状   1. 存储结构   目前虾皮的存储结构从上到下主要分为存储层、调度层、计算引擎层和平台管理层,在引擎层有 Spark、Flink、presto;调度层有 Yarn;存储主要是 HDFS 和 Ozone,对接存储层的也有一些APP,例如推荐和搜索等等。   2. 存储规模   我们的存储集群规模有几千台,存储规模约数百 PB,文件数量约几十亿,最大 QPS 约几十万。   --   02
  存储加速   1. Presto 优化加速查询   存储加速部分,主要主要是针对 Presto,它是我们存储系统的一个使用大户。目前 Presto 的集群规模大概数千实例,TP90 大概两分钟,每天读取文件大概有几十 PB,查询量大概每天数十万。   经过长时间的使用发现,HDFS 性能经常不稳定,Presto 的查询也会有抖动现象。所以就产生了既提升查询速度又保证查询稳定性的需求。目前比较主流的改进方式是添加加 cache,cache 中比较主流的方式是使用 Alluxio。Alluxio 方案中相对经典的方式是 Presto Worker 和 Alluxio Worker 部署在一起,HDFS 挂载在 Alluxio 目录上,Presto 通过 Alluxio 访问 HDFS,缓存 Alluxio 自己管理。   在这种 Alluxio+Presto 经典解决方案中也存在一些 问题: 虾皮的存储容量是 PB 级别,缓存容量是 TB 级别,大概有千分之一的差距;这样就必须定制化缓存容量去符合 Presto 运行的一些要求; 如果数据不在 Alluxio 中,需要先将数据导入到 Alluxio 中,经过尝试,我们发现第一次数据导入都会消耗比较长时间。   解决方案: 对 HMS:设置标志,告诉 Presto 缓存在 Presto 还是在 Alluxio 中; 对 Alluxio Worker:设计 Cache Manger,自定义缓存策略,提前加载缓存; 有了这个标志以后 Presto 就可以直接去查 HDFS,不需要通过 Alluxio 去中转。   2. Cache Manager 架构和实现细节   为了解决以上问题,我们设计了一个 Cache Manager 系统。首先来看一下 Cache Manager 的整体架构 :   Cache Manager 通过 load/unload/mount 发给 Alluxio,Alluxio 从HDFS 加载数据; 根据一些缓存策略去加载一些热表; 提供了一些 API 接口,可以进行一些输入和输出; 通过 Kafka 的 HDFS 对已经加载的缓存进行一些修改; 在HMS上打一些标志,这样计算引擎就可以从 HMS 得到并从 Alluxio 去加载数据。   接下来来看一下 Cache Manager 的一些实现细节。 热表:通过 Presto 的查询日志,每天生成的 Hive 表,按日期分区,统计每个表每一天的热度,即访问次数。 缓存策略   从热表中得到最近七天加权访问最频繁的表,取每个表最近的 m 个分区,把这些分区从 HDFS 加载到 Alluxio 中,把这些关系存储到数据库中,然后在 HMS 设置标志。注意的是,这是一个比较初级的版本,后续会不断迭代优化。   ① HMS 标志:采用 key 的方式   Key 是 Cach,Value 是数据中心,然后是 Alluxio 以及 Alluxio 的NameService,我们会有多种 Alluxio 的服务。如果分区存在,会设置在 partition 属性上,如果分区不存在,则设置在 table 属性上。右图表示的是 Presto 去 HMS 查询,如果在 Alluxio 上就去 Alluxio 查询,如果不在就去 HDFS 查询。   举个例子,示例中,打上 tag 标志后,我们看到分区属性上有个 Cache 属性,标识这个缓存是在哪个 Alluxio 上。   ② 接口:有多种接口   我们提供了一些接口,有根据路径的接口和表的接口,还有一些管理员接口。路径和表的接口都是一些 mount, unmount, load, query,表的 load 接口会比较细化一些。   3. 效果展现   目前 Alluxio 正在上线中,数据采集不完全,但现有的测试数据可以看出全部从 Alluxio 读比全部从 HDFS 查询最高可以达到 55.51% 的提升。   4. Alluxio 社区贡献   --   03
  存储服务化   1. 业务痛点问题 大多数业务数据存储到 HDFS 不同业务使用的开发语言各异 目前 HDFS 的非 JAVA 客户端不完善   2. 解决方案   为了给业务人员提供更成熟便捷的访问方式,从存储服务化的角度出发,结合我们对 Alluxio 的调研,提供了以下两种解决方案。   (1)Fuse for HDFS:在 Fuse 中可以像在本地访问数据一样来访问 HDFS 的数据,我们提供了两种部署模式:物理机部署 Alluxio Fuse 服务,以及 Kubernetes 部署 Alluxio Fuse 服务。   (2)S3 for HDFS:通过 S3 API 访问 Alluxio 服务。S3 对多种语言支持,可以解决开发语言差异的问题,同时 Alluxio 对 S3 接口兼容,使用 S3 接口访问 HDFS 中数据非常便捷,我们最终决定采用这种方式来提升用户体验。   3. 了解 Fuse   Fuse 属于一个用户态的软件系统,由两部分组成:内核模块以及用户空间守护进程。Fuse 给用户和开发者带来了极大的便利。在内核模块的支持下,开发者只需要实现标准的 POSIX 协议接口就可以拥有一个自定义的文件系统。   右边这幅图是一个 Fuse 服务的架构图,当用户在被挂载的目录执行文件操作时,就会触发系统调用,VFS 将这些操作路由至 Fuse driver,Fuse driver 创建请求将其放入到请求队列中,Fuse daemon 通过块设备从内核队列中读取请求,进而执行自定义的逻辑操作。   4. 物理机部署 Alluxio Fuse   先看一下右边的这幅图,Alluxio Fuse 的服务就相当于前面讲的 Fuse deamon,在启动 Alluxio Fuse 的时候,相当于进行了一个挂载操作,它会调用 libfuse 的方法,向 kernel 去注册挂载点以及回调函数。在挂载目录下执行的操作就是执行的回调函数逻辑,像图中描述的 ls 指令最后得到的结果就是对挂载的 Alluxio 目录执行的list操作的结果。   在使用 Alluxio Fuse 之前,我们需要安装 libfuse 。目前社区的版本是支持 libfuse2 的,libfuse3 应该也在开发过程当中。实现方式现在有两种,一个是 JNR-Fuse 一个是 JNI-Fuse。JNR-Fuse 是一个个人维护的项目,所以出现问题的话不一定能够及时地的解决。而 JNI-Fuse 是由 Alluxio 社区来维护的,并且在并发场景下 JNI-Fuse 性能更佳。于是我们选择了 JNI-Fuse 作为我们的实现方式。   Alluxio Fuse 有两种部署模式,一种是集成到 worker 进程,这样能够省去 rpc 调用,另一种是单独部署在一个客户机上,目前我们使用的是单独部署的模式,因为我们的用户的应用客户端不一定和 worker 在同一个节点,所以选择更为灵活的独立部署模式。   虽然 Alluxio Fuse 支持标准的 POSIX 协议,但是它的重点是提供读服务,因为目前的主要使用场景是加速 AI 训练,这是一个典型的读的场景。对于随机写的支持目前还不够好。而我们的服务化需求可能不单单是读请求,这也是我们后面需要改进的点,以更好地支持用户需求。   5. K8s CSI 部署 Alluxio Fuse   在介绍完物理机部署之后,我们再来看一下如何在 K8s 集群部署。利用 K8s的 CSI 可以将 Alluxio Fuse 服务部署到 K8s 上,CSI 是一个容器的标准存储接口。借助 CSI 的容器编排能力,我们可以将任意的存储系统暴露给容器,从而使用这些存储服务。右边这幅图就是 Alluxio 如何使用 CSI 的原理图。我们可以看到上面部分主要是 CSI 部分, 其中一部分是由 K8S 社区维护的组件(右边部分),而我们更需要关注的是左边需要开发者去定义的部分,主要包括 CSI Controller 和 CSI NodeServer。Controller 作为控制端,实现了创建、删除、挂载、卸载等功能。而 NodeServer 端是进行具体的 mount 操作的节点。在 Alluxio 的 CSI 当中,NodeServer 以 daemonset 模式部署到每个 Node 节点上。   要使用定义好的 Alluxio Fuse 的服务,只需用户在定义 PV 时,指定使用 Alluxio CSI 这种服务来提供数据挂载服务就可以,并且需要指定好 Alluxio服务系统中以业务的目录作为挂载点。然后在创建业务 POD 的时候,它就会在 NodeServer上去启动一个 Alluxio Fuse 服务,同时业务 POD 就可以访问挂载在 Alluxio 当中的目录了。这种模式下,一个 NodeServer 上可能会有多个 Fuse 进程,这样能够节约资源。但是它有一个弊端就是一旦这个 NodeServer 出现了异常,那么其中运行的多个 Fuse 服务都会受到影响,与其对应使用这个 Fuse 服务的 Container 都会受到影响,我们必须重启所有的业务 POD 才能正常访问文件。   6. K8s sidecar 模式部署 Alluxio Fuse   为了避免 NodeServer 挂掉之后产生的影响,我们又引入另外一种模式。就是 K8s 的 sidecar模式,sidecar 模式就是在用户配置业务 Container 的YAML文件中,会配置一个 Alluxio Fuse 的服务。相当于在启动一个业务 Container 的时候,会额外地提供一个 Alluxio Fuse Container 。这个 Alluxio Fuse Container 主要就是用来挂载 Alluxio 目录用的,并且这两个 Container 可以共享存储网络等资源的。这样业务Container 就可以访问Alluxio Fuse挂载的目录。这种模式下每个 POD 都可以有一个 Container,部署配置比较灵活,而且每个容器之间互不影响。但是因为每个 Fuse 进程都会占用一个容器,这样会额外消耗一部分资源。   部署模式总结:   简单回顾一下这三种模式的特点:   对于物理机部署,因为是要部署到用户的每个客户机上,客户机是比较分散的,所以它的部署成本要高一些。而对于 K8S 模式,因为它是部署在每个node 上,所以运维成本相对来说会稍低一些。而对于资源的使用,因为物理机部署就是启动一个进程,而 K8S 的模式会开启一个 NodeServer 或者开启一个单独的 Container 去部署这个服务,所以会占用一些额外的资源。sidecar模式,因为对每个业务 Container 都会启用一个 Alluxio Fuse 的服务,这样占用资源相较于 CSI 模式会更高一些。   独立性方面,物理机部署因为采用的是独立部署,不会受 worker 的影响,也不会影响 worker。每个业务使用的 Fuse服务也是互相不影响的。K8S CSI 模式因为是在NodeServer 上可以部署多个 Fuse 进程,所以可能会受到 NodeServer 的影响。K8S sidecar 模式也是独立部署的,不会产生任何影响。   7. 了解 S3   除了挂载操作的方式之外,我们还提供另外一种服务化的方式,就是使用 S3 SDK。S3 是亚马逊的一个公开的云存储服务系统,是存储对象用的。其特点是提供了丰富的客户端 SDK,我们就是要借助这些丰富的 SDK 来实现对 Alluxio 当中文件的访问。   在此也介绍一下 S3 的一些基本概念。Bucket 是 S3 中用于存储对象的容器;object 是 S3 中存储的基本实体;Key 是存储桶中对象的唯一标识符;region 在 S3 的服务中可以选择一个区域供 S3 存储创建的桶。下面看一下我们是如何利用 S3 的 SDK 来提供存储服务的 。   8. S3 for HDFS   利用 S3 的 SDK 来访问数据主要是依赖于几点:   首先 Alluxio可以挂载 HDFS 数据。Alluxio提供了 Proxy 的服务,Proxy 服务是兼容 S3 API 的,所以可以支持更多的用户通过更多的语言,使用 S3 SDK 来通过发送请求到 Alluxio Proxy,解析成对 Alluxio 的请求,从而来访问数据。   9. Proxy 映射关系   左边这幅图执行的是一个 mount 指令。将 HDFS 当中的 projects 目录挂载到 Alluxio当中的 projects 目录。下边分别是 HDFS 中的路径以及 Alluxio 当中的路径。它们是一一对应的关系。   Proxy 服务在做解析的时候,把 Alluxio 的一级目录作为 bucket 来进行映射,其子目录和文件构成 key,相当于通过这个 bucket 和 key 我们就可以得到一个 object 对象。右边的图就是一个 S3 的 Java SDK 请求 Proxy 服务的 demo,可以看到,其bucket设置为首级目录,目录的其余部分作为 key 可以获取到这个对象。   10. 实现 Proxy Authentication   现在社区提供的Proxy服务并没有提供 S3 所具有的认证功能,于是我们自己为 Proxy 服务添加了认证功能。   S3 的 SDK 发动请求时,会将请求转换为 REST 请求,并且在客户端根据拿到用户的 ID 以及 secret ,再加上请求当中的请求信息,生成一个签名,然后把这个签名放到请求当中。   我们在 Proxy 服务中添加了用于解析认证请求和校验认证的方法。因为在请求中带有 ID 信息,我们可以拿着 ID 去 secret manager 取出它的 secret 信息,重新在 Proxy 服务端生成新的签名,与请求中带来的签名进行比较,从而判断这个认证是否通过。   右图是亚马逊官网给出的计算步骤,我们可以看到它就是解析 request 请求和计算签名的一个过程。使用了加密算法,多次加密之后得到了三个字段,然后进行最后的编码以及加密编码,才得到的这个签名。   11. 服务架构   再来看一下我们整个的服务架构。图的右半部分是一个集群,它的后端是HDFS 的数据。我们把所有的刚才介绍到的服务模式都在这个图上进行了展示。可以看到有三个橘黄色客户端,上面是一个使用 S3 的 SDK 的客户端,它通过负载均衡,将请求发送到某个 Proxy 服务,经网络发送到 Alluxio 集群进行解析之后,数据就会返回到客户端。   下面这个客户端使用的是在物理机部署的模式,在本地物理机去部署一个 Alluxio Fuse ,用户通过访问 Alluxio Fuse 挂载的目录,进而获取到 Alluxio 当中的数据。   最下边是一个 K8s 集群。右边是集群里的一个 pod。这是一个 sidecar 模式,一个客户端和 Alluxio Fuse 的 Container,它们之间共享存储。因为 K8S 是有自己的网络服务定义的,通过这个网络连接到外边的网络服务,进而可以拿到 Alluxio 中的数据。   12. Alluxio 社区贡献   我们在使用 Alluxio 服务的过程中也发现了一些问题,并积极地反馈给了社区,主要是 proxy 与 fuse 相关的问题。   --   04
  未来规划   未来规划主要在以下两大方面: 在存储加速方面 ,我们还会将 Spark 和 Hive 接入 Alluxio;CacheManager 添加自适应的缓存策略,达到更优的缓存使用; 在存储服务化方面 ,我们也会对 CSI 进行优化,将 Fuse 独立于 nodeserver 服务;对于 Fuse 服务,因为我们提供的场景不单单是读,所以,我们需要根据业务需求完善对 POSIX 接口支持。   今天的分享就到这里,谢谢大家。   分享嘉宾   丁天宝 Shopee engineer   多年大数据经验,涉及存储、引擎、调度、大数据开发等等。也有丰富的后端开发经验,前端也能做一点。   孙颢宁 Shopee engineer   多年大数据存储研发经验,目前就职于Shopee,负责Alluxio的研发工作。   关于DataFun   专注于大数据、人工智能技术应用的分享与交流。发起于2017年,在北京、上海、深圳、杭州等城市举办超过100+线下和100+线上沙龙、论坛及峰会,已邀请超过2000位专家和学者参与分享。其公众号 DataFunTalk 累计生产原创文章800+,百万+阅读,15万+精准粉丝。

用人工智能算法感受智能驾驶的魅力,创新教育模式走入校园智慧教育获得的不仅仅是成绩和经验,也激发了我对日常知识学习的兴趣,比如课堂上学到的勾股定理也可以被应用到模型的调优中体现了一种完全不同的编程方式它让编程的逻辑更像是人对于自己的思考,可以发强势美元引市场强震美元霸权如何祸乱世界美国联邦储备委员会日前决定继续激进加息75个基点,推动美元对其他货币汇率持续走高,引发国际金融市场动荡。国际观察人士认为,在美国货币政策推动下,美元持续走强正在全球范围内产生破坏性6000亿债务压顶!郭广昌仍持续套现,复星集团或正在被瓦解?引言在商场中浮浮沉沉是常有的状况,尤其是在近几年,全球经济不稳定的情况下,各行各业的发展都受到了一定的影响,全球经济遭遇了有史以来的重大衰退,而各大企业的日子也不好过,复星国际作为兵器工业集团发布2021年社会责任报告近日,兵器工业集团正式发布第十三份年度社会责任报告中国兵器工业集团有限公司2021年社会责任报告,以用心守护和平用力争创一流用情温暖社会为主题,从恪守强军首责服务经济建设共创美好生国美回应拖欠员工工资公司现金流承压明显,将在经营好转时补足记者姜菁玲编辑9月26日,财新援引多位员工消息称,国美未按时向员工发放8月工资,其公司债务和现金流危机已严重影响日常运营。一名国美总部员工表示,9月22日获口头通知称8月工资将延迟定期利率已至5。25,仍然没人存钱,银行员工纳闷储户怎么了?引言手里有存款,才能在遇到难事的时候有支撑,才有底气选择自己喜欢的生活。不仅如此,买房买车以及生活等,都需要大量的资金。那为了实现这些目标,存钱就是一个基本的事情。说到存钱,那么大如果比特币价格稳定,5种山寨币可能会看涨如果比特币价格稳定并开始盘整,这五种山寨币可能会出现强劲上涨。由于宏观经济状况恶化加剧了对全球经济衰退的担忧,美国主要股票市场指数上周继续下跌。道琼斯工业平均指数收于2022年的最京东员工阿里裁员积极帮离职员工找工作,京东却各种威胁使绊子最近大环境不好,各公司都在裁员,但裁员手段却大有不同。一位京东员工说阿里裁员的离职证明写的是主动离职,被裁同学的新公司背调时,阿里规定hr必须积极配合。但京东hr却在协商过程中各种到底扎克伯格是不是机器人?网友分析2018听证会,发现了什么?提到机器人这个话题,大部分人都是比较感兴趣的,因为机器人作为我们人类未来发展以及研究的一个方向,它所具备的一个潜力是非常巨大的。尤其是,在各种科幻电影里面,我们所看到的机器人,他能世界杯分析丹麦胜法国也许预示着法国十六强对手已经敲定从欧国联小组赛第五轮法国20战胜奥地利的比赛能看出来,和6月相比,如今法国的状态得到了很好的提升。但即便如此,他们还是被丹麦双杀了。很多人拿欧国联的档次说事,认为卫冕冠军这是在保留喜从天降!广东官宣第20人,马尚争冠最佳搭档,朱芳雨还有大招马上就要迎来国庆假期,结束了长假之后,CBA新赛季常规赛就要打响。这段时间也是各支球队备战的最后冲刺阶段。对于广东队来说,这个休赛期的备战受到了一定的影响,除了有多名球员离队之后,世外濮塘待发掘的南京后花园头条创作挑战赛濮塘与南京山水相连,鸡犬相闻,站在濮塘的山上,可以闻见南京喧嚣声。虽然不属于同一省份,但这不影响她努力建设成南京的后花园,随着濮塘进一步的发掘和建设,作为南京后花园可这一轮熊市,终于快熬到头了作者钟灏1hr熊市,是需要熬的。每个躬身入局的人应该都有体会。20122014,熊市熬了三年20172018,熊市熬了一年半2021至今,熊市还在进行中无论楼市股市还是债市,都发生商业贷转公积金买房的时候工商银行纯商贷4。9,实际执行利率4。312。从去年8月份开始交到现在一年多的公积金,8月份去了一趟公积金中心问了一下贷款跟余额没有关系,只跟缴费基数挂钩,索性在柜台填了这一政策,将延续9月26日,据财政部消息,财政部税务总局工业和信息化部发布关于延续新能源汽车免征车辆购置税政策的公告,对购置日期在2023年1月1日至2023年12月31日期间内的新能源汽车,免征湖南台综艺收视回升,没了谢娜杜海涛李维嘉,何炅还是带出了新人最近湖南台终于不再水逆了!黄金档播出的电视剧底线收视节节攀升,收视峰值突破0。75,稳坐卫视第一。不过想想看底线的阵容和题材,靳东主演最高法指导协拍真实案例热门案件改编剧情不悬浮突章泽天疑似怀二胎,刘强东无心商海回归家庭!东时代落幕章泽天喜迎二胎孕味十足,刘强东套现百亿后现身美国,抱小天抛股票购豪宅生二胎,昔日的工作狂人刘强东,马上要走上宠妻爱子的奶爸路线。刘强东陪章泽天逛超市近日,有网友晒出在美国超市,偶遇抗衰没动力?只需一瓶LIROSAAC活氧紧致肌底液抗衰这个词可能你已经听腻了,但如果你现在正处于3055岁这个年龄段,我还是强烈建议你花5分钟的时间,好好读完这篇文章,也许会给你意想不到的收获!女人过了25岁,皮肤就开始走下坡路,中国女排四王登场,三王表现出色,一王还需努力,两队员崛起2022年女排世锦赛,中国女排首战阿根廷女排。中国队以30战胜了对手,取得了开门红。阿根廷队是一支实力并不强的队伍。虽然这一场中国女排以30战胜了对手,但是赢得并不轻松。第一局两队宜宾动力电池中国制造新优势新华社北京9月26日电中国证券报26日刊发文章宜宾动力电池中国制造新优势。文章称,到2030年,全球每7辆新能源汽车中就有1辆装置宜宾造的动力电池。宜宾市相关负责人自豪地告诉中国证三元软包出走半生归来,能否引领动力电池变革?站在浪潮前的人,才能最先上岸。中国已经成为全球最大新能源汽车市场,且高增长态势持续,乘联会已将今年的销量预期提升至600万辆以上。在金九银十的汽车销售旺季带动下,汽车产业链各环节纷探访驼铃古道模式口,在感受京西慢时光头条创作挑战赛忆模式口往昔繁华,溯源京西民俗文化。明清时代的民居,五景七院三十铺,如今重新焕发勃勃生机。在模式口可寻迹驼铃古道,书店咖啡厅特色餐饮民宿院落文创商店应有尽有可探田义墓
双赢!火箭步行者酝酿3换2交易,小波特特纳互换东家?哈登离开休斯顿之后,火箭队已经多年没有球员能够参加全明星正赛了。贾巴里史密斯申京塔里伊森参加了新秀赛,但表现不佳,比赛最后时刻彻底沦为看客。主教练塞拉斯本赛季主打杰伦格林和小波特的奶奶衫这一次又赢了!春天穿它,优雅女人从来不会输文洛薇Hi,我是洛薇,继续我们的时尚穿搭之旅,变美永远不迷路。春天的针织外套,如何选?怎么搭?今天,来聊它吧。每逢换季,其实是一场关乎审美的智商大秀。能否从泱泱成衣中一眼挑出具有创签名传真机牙齿团结费,这些转会失败的原因就离谱冬季转会窗的最后一天,切尔西一整天都在为恩佐费尔南德斯的交易而努力,终于在最后几个小时的时间里完成了转会。恩佐费尔南德斯以1。21亿欧元的转会费加盟英超切尔西队,创造了英超球队引援美白体乳怎么全身美白,吃什么能全身美白,哪种效果好?很多人会因为先天遗传或后天紫外线照射等因素,而让身体皮肤变黑,这样一来就会影响整个人的气质,还会让颜值拉低。为了改善这种状况,应该尽快使用一些方法来进行全身美白。那么怎样可以达到甜特斯拉召回近37万辆电车!马斯克回应OTA即可车东西(公众号chedongxi)作者晓芳编辑Juice车东西2月17日消息,据外媒TheVerge报道,美国国家公路交通安全管理局(NHTSA)宣布,特斯拉将召回近37万辆已安装忠县石宝寨,江中盆景梯云直上石宝寨位于重庆市忠县石宝镇,是我国现存体积最大层数最多的穿斗式木结构建筑,也是全国重点文物保护单位全国4A级旅游景区国家级风景名胜区。图说石宝寨来源网络忠县位于重庆市东北三峡库区腹多吃素可以养肝吗?导语肝脏是人体内一个非常重要的消化腺,对人体有着非常重要的功能,肝脏的主要功能是排泄胆汁,同时,它将人体人工吸收的蛋白质脂肪和糖消化成可供身体使用的物质。肝脏作为人体最重要的排毒器寿命长短,喝水便知?忠告多喝水后出现这5个异常,尽快去检查如今,随着社会经济的不断增长,人们的生活习惯得到极大的改善,健康养生成为中老年群体的主流话题之一,多喝点水成为健康养生必不可少的一环。这句话似乎适用于任何场景,有些直男被女朋友吐槽杨德振乡村春节采风(四)今年正月初四,我在家乡企业家胡保兰先生的陪同下,参观了麻城乡村最大的书院后山书院。后山书院座落在大别山群山环绕的木子店镇毕家河塆。背靠群山,前面是纤陌桑田和波光潋滟的池塘,沪蓉高速春季养生昨天是雨水,春季的第二个节气。从2。4号立春以来就已经进入了春季,作为一个把黄帝内经熟稔于心的人,我发觉身边人陷入了一种生活的怪圈,对于节气没有概念,对于自然没有一点敬畏之心,堂而小沈阳女儿变脸式长大!五官立体身材火辣,穿露脐装和爸一般高女孩子的变化往往在10岁之后最为明显,都说女大十八变,小时候长相不够惊艳,到了少女阶段自然会显得落落大方,五官长开之后,也不会有小时候那样的土味感。很多明星们的孩子,在幼年的时候虽